boost如何知道要链接哪个LIB以及如何更改它?

时间:2013-07-12 13:29:13

标签: c++ boost

我正在尝试使用boost :: thread。

当我尝试编译我的项目(VS2010)时,链接器找不到名为“libboost_thread-vc100-mt-1_47.lib”的库。

  • 我无法理解的第一件事是boost如何决定它需要链接的lib名称?我搜索了该字符串的提升代码,但我找不到任何代码。这个名字来自哪里?

  • 如果我放置所请求的lib,使用boost DLL一切正常,但我想静态链接到库,因此我有“libboost_thread-vc100-mt-s-1_47.lib”我想要的链接到,但boost会查找其他文件。如何进行此文件的提升链接,以便我能够静态工作?

非常感谢! : - )

1 个答案:

答案 0 :(得分:1)

  
      
  • 我无法理解的第一件事是boost如何决定lib   它需要链接的名称?我搜索了该字符串的提升代码,   但我找不到任何东西。这个名字来自哪里?
  •   

这是自动链接功能。您可以看到boost如何组成boost/config/auto_link.hpp标题中链接的库的名称。

  
      
  • 如果我放置了请求的lib,使用boost可以正常工作   DLL,但我想静态链接到库
  •   

确保您静态链接CRT(项目属性 - > C ++ - >代码生成 - >运行时库...应为/ MT或/ MTd)。然后,boost也将静态自动链接。