【发布时间】:2014-11-28 21:46:21
【问题描述】:
我正在尝试更新我的代码和库以在 Visual Studio 2013 中使用,但我遇到了 Boost 1.57.0 的问题。无论出于何种原因,MSVC 12.0 拒绝正确编译 program_options 由于两个链接器错误(使用正在使用 program_options 构建项目或尝试构建库本身)。
我已尝试构建库,但这些链接器错误阻止了它。我还使用位于此处的预构建 SourceForge 二进制文件遇到这些错误:http://sourceforge.net/projects/boost/files/boost-binaries/1.57.0/
这些是我得到的链接器错误:
错误 LNK2001:无法解析的外部符号“
class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > boost::program_options::arg”(?arg@program_options@boost@@3V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@ @A)错误 LNK2001:无法解析的外部符号“
public: static unsigned int const boost::program_options::options_description::m_default_line_length” (?m_default_line_length@options_description@program_options@boost@@2IB)
过去三个小时我一直在谷歌搜索这个问题,但我没有找到解决这个问题的方法(之前发布的几个针对非常旧版本的 Boost 的解决方案对我不起作用)。
其他一些信息:
库名称:libboost_program_options-vc120-mt-1_57 RT 库:多线程 DLL (/MD)
如果您需要任何其他信息,请告诉我,我会将其添加到 o.发帖。
【问题讨论】:
-
您是否链接了提升选项(您拥有到)?你是如何配置你的项目的?
-
@quantdev 不知道为什么它不能更早地工作。我的项目文件夹中有我的提升文件(所有内容)。当我将它们移回我之前的 boost 安装设置并重新进行包含/库目录设置时,它现在可以工作了。
标签: c++ c++11 boost visual-studio-2013 linker