Visual Studio链接器找不到libboost_system

时间:2011-02-23 15:40:57

标签: c++ visual-studio-2008 boost linker boost-asio

我正在使用VS 2008并希望使用boost :: asio库。 我可以让它在一个新项目中工作(我想包括boost / bind.hpp和boost / asio.hpp),但是在现有项目中我得到了这个错误:

致命错误LNK1104:无法找到Datei“libboost_system-vc90-mt-sgd-1_46.lib”。

我在boost目录中找不到这个文件,但是这个:libboost_system-vc90-mt-gd-1_46.lib(gd而不是sgd)这是什么意思?

谢谢!

3 个答案:

答案 0 :(得分:3)

我假设你使用过BoostPro的Boost安装程序。如果有,请重新安装,并确保选择Multithread Debug, static runtime

答案 1 :(得分:1)

Boost names its libraries based on what options were used in compiling them。 “mt”,例如,意思是“多线程运行时”;而且我相信你可以弄清楚“vc90”是什么意思(比如说,“gcc4”)。我认为“s”的意思是“静态的”。

您的解决方案是首先确保您使用的是构建库时使用的相同选项,然后在项目选项中更改要链接的文件的名称。

答案 2 :(得分:0)

这意味着您必须转到项目属性并更改当前包含用于链接的boost库的名称。如果你有libboost_system-vc90-mt- gd -1_46.lib,你应该使用它。

Configuration Properties => Linker => Input => Additional dependencies