11

前几天我编译了Boost ver。1.53.0 用于 VS2012。它工作正常,编译良好。现在我想将 Boost 与 Qt Creator 一起使用。在.pro我包含的文件中

INCLUDEPATH += C:\boost\boost_1_53_0\  -lboost_filesystem
LIBS += C:/boost/boost_1_53_0/stage/lib/

但是当我编译我得到2个错误:

:-1: error: cannot find C:/boost/boost_1_53_0/stage/lib/: Permission denied
collect2.exe:-1: error: error: ld returned 1 exit status

我应该怎么办?我用谷歌搜索过,但似乎我是第一个遇到此错误的人。

4

2 回答 2

22
INCLUDEPATH += C:\boost\boost_1_53_0\  -lboost_filesystem
LIBS += C:/boost/boost_1_53_0/stage/lib/

错误的。

读这个

解决方案:

INCLUDEPATH += C:/boost/boost_1_53_0/
LIBS += "-LC:/boost/boost_1_53_0/stage/lib/"

Boost 有复杂的库名称(“libboost_filesystem-vc90-mt-1_53.lib”),如果是 msvc,它会自动链接它们。)如果你想链接额外的库,你可以这样做:

LIBS += "-LMyLibraryPath" -lmylib

其中 MyLibraryPath 是库路径,而 mylib 是您要链接的库。

我是第一个出现这个错误的人。

最有可能发生该错误是因为编译器试图打开目录,就好像它是一个文件或类似的东西一样。

于 2013-06-08T10:55:34.393 回答
0
win32 {
    INCLUDEPATH += C:/Users/User/Downloads/dev/boost_1_61_0
    LIBS += "-LC:/dev/Boost/lib/" \
    "-Llibboost_filesystem-mgw53-mt-d-1_61.a", "-Llibboost_system-mgw53-mt-d-1_61.a", "-Llibboost_serialization-mgw53-mt-d-1_61.a" -LLIBS

}
于 2016-06-26T17:48:49.110 回答