如何在qmake项目中使用Boost库?

时间:2013-06-08 10:00:23

标签: c++ qt boost

前几天我编译了Boost ver。 VS2012为1.53.0。它工作正常,编译很好。现在我想在Qt Creator中使用Boost。在我已包含的.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

我该怎么办?我用Google搜索了,但似乎我是第一个出现此错误的人。

2 个答案:

答案 0 :(得分:21)

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

错误。

Read this

解决方案:

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,则会自动链接它们。) 如果要链接其他lib,可以这样做:

LIBS += "-LMyLibraryPath" -lmylib

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

  

我是第一个犯这个错误。

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

答案 1 :(得分: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

}