0

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

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

  • 我无法理解的第一件事是 boost 如何决定它需要链接到的库名称?我在 boost 代码中搜索了该字符串,但找不到任何内容。这个名字从何而来?

  • 如果我放置请求的库,使用 boost DLL 一切正常,但我想静态链接到库,因此我有我想链接到的“libboost_thread-vc100-mt-s-1_47.lib”,但提升寻找另一个文件。如何创建指向该文件的 boost 链接,以便能够静态工作?

非常感谢!:-)

4

1 回答 1

1
  • 我无法理解的第一件事是 boost 如何决定它需要链接到的库名称?我在 boost 代码中搜索了该字符串,但找不到任何内容。这个名字从何而来?

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

  • 如果我放置请求的库,使用 boost DLL 一切正常,但我想静态链接到库

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

于 2013-07-12T14:30:30.183 回答