错误:无法在Qt Windows8上打开文件'boost_atomic-vc120-mt-1_58.lib'提升库

时间:2015-05-14 11:04:37

标签: c++ qt boost

我正在尝试在Windows上使用Qt创建者构建链接提升库。我已经下载了使用msvc-12.0编译的boost预构建库。

在我的.pro文件中添加了

INCLUDEPATH += C:/local/boost_1_58_0/boost
LIBS += "-LC:/local/boost_1_58_0/stage/lib" -lboost_atomic-vc120-mt-1_58

但在构建项目时,我收到错误error: LNK1104: cannot open file 'boost_atomic-vc120-mt-1_58.lib'

我的Qt版本为Desktop Qt 5.4.1 MSVC2013 64bit

显示

的编译器列表

enter image description here

我已从http://sourceforge.net/projects/boost/files/boost-binaries/1.58.0/

下载了boost库

我选择boost_1_58_0-msvc-12.0-64.exe因为我使用msvc-2013作为我的编译器。

修改 编译输出

cl : Command line warning D9002 : ignoring unknown option '-lvda'
    cl -c -nologo -Zm200 -Zc:wchar_t -FS -lvda -Zi -MDd -GR -W3 -w34100 -w34189 -EHsc /Fddebug\AcessControl-V1.pdb -DUNICODE -DWIN32 -DWIN64 -DQT_QML_DEBUG -DQT_DECLARATIVE_DEBUG -DQT_QUICK_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_SQL_LIB -DQT_CORE_LIB -I"..\AcessControl-V34-DVR" -I"." -I"..\AcessControl-V24\ffmpeg\include" -I"C:\local\boost_1_58_0\boost" -I"C:\Qt\Qt5.4.1\5.4\msvc2013_64\include" -I"C:\Qt\Qt5.4.1\5.4\msvc2013_64\include\QtQuick" -I"C:\Qt\Qt5.4.1\5.4\msvc2013_64\include\QtWidgets" -I"C:\Qt\Qt5.4.1\5.4\msvc2013_64\include\QtGui" -I"C:\Qt\Qt5.4.1\5.4\msvc2013_64\include\QtANGLE" -I"C:\Qt\Qt5.4.1\5.4\msvc2013_64\include\QtQml" -I"C:\Qt\Qt5.4.1\5.4\msvc2013_64\include\QtNetwork" -I"C:\Qt\Qt5.4.1\5.4\msvc2013_64\include\QtSql" -I"C:\Qt\Qt5.4.1\5.4\msvc2013_64\include\QtCore" -I"debug" -I"C:\Qt\Qt5.4.1\5.4\msvc2013_64\mkspecs\win32-msvc2013" -Fodebug\ @C:\Users\vapplica\AppData\Local\Temp\moc_alert.obj.5536.20297.jom
moc_alert.cpp
cl : Command line warning D9002 : ignoring unknown option '-lvda'
    link /NOLOGO /DYNAMICBASE /NXCOMPAT /DEBUG /SUBSYSTEM:WINDOWS "/MANIFESTDEPENDENCY:type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' publicKeyToken='6595b64144ccf1df' language='*' processorArchitecture='*'" /MANIFEST:embed /OUT:debug\AcessControl-V1.exe @C:\Users\vapplica\AppData\Local\Temp\AcessControl-V1.exe.5536.23406.jom
LINK : fatal error LNK1104: cannot open file 'boost_atomic-vc120-mt-1_58.lib'
jom: E:\Qt_Project\AcessControl-V34\Makefile.Debug [debug\AcessControl-V1.exe] Error 1104
jom: E:\Qt_Project\AcessControl-V34\Makefile [debug] Error 2
16:52:42: The process "C:\Qt\Qt5.4.1\Tools\QtCreator\bin\jom.exe" exited with code 2.
Error while building/deploying project AcessControl-V1 (kit: Desktop Qt 5.4.1 MSVC2013 64bit)
When executing step "Make"
16:52:42: Elapsed time: 00:24.

有人知道这个错误发生的原因吗?

任何帮助将不胜感激

由于 哈里斯

1 个答案:

答案 0 :(得分:1)

在您的专业文件中更改INCLUDELIBS指令:

INCLUDEPATH += C:/local/boost_1_58_0
LIBS += -LC:/local/boost_1_58_0/stage/lib

支持.lib目录中的C:/local/boost_1_58_0/stage/lib个文件。还要在C:/local/boost_1_58_0/boost目录中支持头文件。您需要将C:/local/boost_1_58_0添加到INCLUDEPATH才能在您的计划中撰写#include <boost/...>

默认情况下,使用自动链接。您无需指定库名称。如果要禁用自动链接,请为预处理器指定BOOST_ALL_NO_LIB