我正在使用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)这是什么意思?
谢谢!
答案 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