我正在尝试在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
显示
的编译器列表
我已从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.
有人知道这个错误发生的原因吗?
任何帮助将不胜感激
由于 哈里斯
答案 0 :(得分:1)
在您的专业文件中更改INCLUDE
和LIBS
指令:
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
。