2016-05-23 89 views
0

M'kay所以我是Qt的新手,我试图将boost/filesystem lib包含到我的项目中。然而,当我试图建立它,我总是得到这样的错误:LNK1104添加Boost库到Qt项目时出错

LNK1104: File "libboost_filesystem-vc140-mt-1_61.lib" cannot be opened.

现在,我知道,这个库需要事先建立,因此,作为升压网站我做了描述:

bootstrap 
.\b2 

它构建得很好。我还使用了Qt的对话框,将libary添加到我的项目,我的.pro文件看起来是这样的:

QT  += core gui 

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets 

TARGET = ProjectName 
TEMPLATE = app 

SOURCES += main.cpp\ 
     mainwindow.cpp \ 
    someclass.cpp \ 
    someclass2.cpp 

HEADERS += mainwindow.h \ 
    someclass.h \ 
    someclass2.h 

FORMS += mainwindow.ui 

win32:CONFIG(release, debug|release): LIBS += -L$$PWD/libarys -llibboost_filesystem-vc140-mt-1_61 
else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/libarys -llibboost_filesystem-vc140-mt-1_61 
else:unix: LIBS += -L$$PWD/libarys -llibboost_filesystem-vc140-mt-1_61 

INCLUDEPATH += $$PWD/boost 
DEPENDPATH += $$PWD/boost 

显然,我做错了什么事,但我无法弄清楚,究竟它是。互联网知道这个问题,但似乎没有“简单”的解决方案。

+0

如果'libboost_filesystem-vc140-mt-1_61.lib'存在于项目的librarys子文件夹中,请确保不混合32位和64位。 – drescherjm

+0

原来,它不喜欢运行时链接。该文件在那里,位版本也可以。谢谢你的时间。 – Saftkeks

回答

0

原来,我的项目不喜欢lib版本。

我重建LIB文件:

>b2 --build-dir="destination/directory" toolset=msvc --build-type=complete link=static threading=multi --with-filesystem stage 

然后,我用的库

release/link-static/runtime-link-static/threading-multi/ 

那就是:

libboost_filesystem-vc140-mt-s-1_61 

和RE-RAN QMAKE为的.pro -文件。然后构建并执行应用程序,错误消失。