前几天我编译了Boost版本。 VS2012 为 1.53.0。它工作正常,编译良好。现在我想将 Boost 与 Qt Creator 一起使用。在我包含的
.pro
文件中
INCLUDEPATH += C:\boost\boost_1_53_0\ -lboost_filesystem
LIBS += C:/boost/boost_1_53_0/stage/lib/
但是当我编译时,我收到两个错误:
:-1: error: cannot find C:/boost/boost_1_53_0/stage/lib/: Permission denied
collect2.exe:-1: error: error: ld returned 1 exit status
我该怎么办?我已经用谷歌搜索过,但似乎我是第一个遇到此错误的人。
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 是您要链接的库。
我是第一个遇到此错误的人。
最有可能发生错误的原因是编译器尝试打开目录,就好像它是文件或类似的东西一样。
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
}