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

问题描述 投票:0回答:2

前几天我编译了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

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

c++ qt boost
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 是您要链接的库。

我是第一个遇到此错误的人。

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


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

}
© www.soinside.com 2019 - 2024. All rights reserved.