【发布时间】:2014-04-23 19:28:08
【问题描述】:
我正在尝试将 boost 线程的共享库链接到我的应用程序中。
系统:Windows8
IDE:Visual Studio 2010
我使用以下方法构建 boost 库:
b2 --with-thread --build-type=complete link=shared
我可以看到
boost_thread-vc100-mt-gd-1_55.dll
boost_thread-vc100-mt-gd-1_55.lib
stage/lib目录下的其他文件
我已将附加库目录的路径和链接器选项中的输入添加为:
其他库目录:C:/boost_1_55_0_dyn/stage/lib
输入:C:\boost_1_55_0_dyn\stage\lib\boost_thread-vc100-mt-gd-1_55.lib
我不知道 Visual Studio 到底为什么要寻找 libboost_thread-vc100-mt-gd-1_55.lib。我没有在属性或任何地方的任何地方提到 libboost_thread-vc100-mt-gd-1_55.lib。我什至搜索了项目中的所有文件和文件夹,libboost_thread-vc100-mt-gd-1_55.lib 没有在任何地方提及。
【问题讨论】:
-
项目 + 属性、C/C++、代码生成、运行时库设置。使用 /MD 匹配您的 link=shared bjam 命令。如果你想要 /MT 那么你还需要用 link=static 构建 boost
-
@Hans Passant ...和
runtime-link=static. -
@IgorR。 runtime-link=static 与共享库有什么关系?
-
它与 static 运行时链接有关。
-
好吧,如果我想要静态链接,我什至不会把这个问题放在这里。无论如何,我已经解决了这个问题。 :)
标签: visual-studio-2010 boost linker-errors dynamic-linking boost-build