LINK1104无法使用visual studio 2008命令提示符打开boost静态库

LINK1104 cannot open boost static library using visual studio 2008 command prompt

本文关键字:命令提示符 boost 静态 2008 studio visual LINK1104      更新时间:2023-10-16

我正在尝试编译一个使用静态boost库的cpp文件。我正在使用visual studio 2008命令提示符,因为我还没有设置VS项目文件。

我使用的命令是(从包含我的源代码的文件夹运行):

cl /EHsc /I "C:Program Filesboostboost_1_53_0" Client.cpp

错误是:

LINK: fatal error LNK1104: cannot open file 'libboost_system-vc90-mt-s-1_53.lib'

但是,libboostrongystem-vc90-mt-s-1_53。lib'可以在"C:Program Filesboostboost_1_53_0stagelib"中找到,所以我的理解是我已经正确安装了boost,我只是没有链接到它?

我试过直接使用

包含它

cl /EHsc /I"C:Program Filesboostboost_1_53_0" /I "C:Program Filesboostboost_1_53_0stagelib" Client.cpp误差是一样的。

我也试过直接使用/link链接到它,如下所示:cl /EHsc /I"C:Program Filesboostboost_1_53_0" /link "C:Program Filesboostboost_1_53_0stageliblibboost_system-vc90-mt-s-1_53.lib" Client.cpp

返回一个不同的错误:cl : Command line error D8003 : missing source filename

我似乎调用编译器标志错误?但我不知道在哪里/怎么去。

这里有一个类似的问题,但解决方案涉及如何设置visual studio/项目文件的问题。由于我没有项目文件,是否有一个简单的解决方案,上面我看不到或我需要建立一个项目?

提前感谢您的帮助!

需要告诉链接器库文件的位置。您非常接近最后一个命令行,但是文件名需要放在/link选项之前。这应该可以工作:

cl/EHsc/I"C:Program Filesboostboost_1_53_0" Client.cpp/link "C:Program Filesboostboost_1_53_0stageliblibboostrongystem-vc90-mt-s-1_53. C "自由"

此外,当链接到同一目录中的多个库时,使用LIBPATH选项告诉链接器在哪里查找更为简洁。lib文件

cl/EHsc/I"C:Program Filesboostboost_1_53_0" Client.cpp/link "libboostrongystem-vc90-mt-s-1_53. C "/LIBPATH:"C:Program Filesboostboost_1_53_0stagelib"