这里已经有一个非常相关的question (rq),但它不够专业,我的声誉不够高,无法在评论中提出更多建议......但是,时间在流逝,我已经有了去某个地方。 一旦回答了原始问题,就可以而且应该删除这个问题。
我想要的是什么:使用qt-library在Visual Studio 2015中工作。就是这样。
我做了什么:
第一个错误:构建过程没有创建任何mkspecs,因此我无法在visual studio中的QT选项中设置目录:“此QT版本使用不受支持的makefile生成器(使用:,支持:MSVN.NET,MSBUILD)“
由于这没有用,我用安装程序安装了qt 5.5.0 mingw492_32。使用它我可以用QTCreator创建一个新项目。它在QTCreator中编译。之后我执行了
qmake -platform win32-msvc2015 -tp vs
将项目转换为Visual-Studio项目,而qmake是以前的BUILT版本的可执行文件,而不是已安装的版本,在visual studio中仍然找不到包含文件。
我做错了什么?在转换后的项目中,库目录,包含目录和附加依赖项对我来说很好。
编辑1: 我跟着walkthrough,一切都成功了。然而,mkspecs文件夹仍然是空的。使用Qt Creator创建Qt-Widget应用程序会在崩溃的应用程序中结束(不对默认代码进行任何更改):
Second Chance Assertion Failed: File minkernel\crts\ucrt\src\appcrt\heap\debug_heap.cpp, Line 980
调用
qmake -platform win32-msvc2015 -tp vs
也不成功:
qmake -platform win32-msvc2015 -tp vs
WARNING: Unable to generate output for: D:/_Daten/_Studium/Bachelor-Thesis/Visual-Studio/VISAR-FSA/GuiTest/Makefile.Debug [TEMPLATE vsapp]
WARNING: Unable to generate output for: D:/_Daten/_Studium/Bachelor-Thesis/Visual-Studio/VISAR-FSA/GuiTest/Makefile.Release [TEMPLATE vsapp]
编辑2:
关于mkspecs:结果我不得不同时打电话:
jom -j 8
jom install
现在创建了所有mkspec。官方文档让我觉得第二个只是在设置目标路径时构建的选项。 然而,Qt Creator中新创建的Qt Widget应用程序,包含已构建和安装的QT版本以及正确的编译器,仍然无法编译。 LNK2019发生在[qtmain.lib(qtmain_win.obj)]中,告诉我在函数“_WinMain @ 16”中有一个符号“__imp__CommandLineToArgvW @ 8”的链接,但未解析。
答案 0 :(得分:1)
您可能想要卸载以前的所有Qt。
答案 1 :(得分:1)
我为VS2015以及VS2013构建了Qt,并且对于5.50以后它不需要任何特别特别的东西来使它成功构建。我倾向于使用@ jafar提到的演练的简化版本(并且更接近official docs'中的方法)
msvc-desktop.conf
。 (Qt不能使用/ MT标志构建)运行configure:
configure -debug-and-release -opensource -platform win32-msvc2015 -opengl desktop -nomake examples -nomake tests
使用jom -j 8
构建(我发现你的回报越来越低)或nmake
。如果省略示例和测试,我可以在大约10-15分钟内构建整个qtbase
jom install
或nmake install