已经有一个非常相关的question (rq)在这里,但它不够专业,而且我的声誉还不够高,无法在评论中寻求更多建议……但是,时间在流逝,我必须到达某个地方。 一旦原始问题得到解答,这个问题就可以而且应该被删除。
我想要的:在 Visual Studio 2015 中工作,使用 qt-library。就是这样。
我做了什么:
第一个错误:构建过程没有创建任何 mkspec,因此我无法在 Visual Studio 中的 QT 选项中设置目录:“此 QT 版本使用不受支持的 makefile 生成器(使用:,支持:MSVN.NET、MSBUILD)"
- 我尝试通过将其替换为已安装版本的 mkspec 文件夹来破解该问题,以便能够在 Qt 选项中选择 qtbase 文件夹。
- 研究了 VS 项目的库目录、包含目录和附加依赖项。无论我做什么,都找不到包含文件。
由于这不起作用,我使用安装程序安装了 qt 5.5.0 mingw492_32。使用它,我可以使用 QTCreator 创建一个新项目。它在 QTCreator 中编译。之后我执行了
qmake -platform win32-msvc2015 -tp vs
将项目转换为 Visual-Studio 项目,而 qmake 是以前构建版本的可执行文件,而不是安装的版本,因此在 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 版本以及正确的编译器,仍然无法编译。 [qtmain.lib(qtmain_win.obj)] 中出现 LNK2019,告诉我函数“_WinMain@16”中存在指向符号“__imp__CommandLineToArgvW@8”的链接,但未解决。
最佳答案
您可能想要卸载所有以前的 Qt。
关于c++ - 为 msvc2015 构建 QT - 并获得工作项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32996555/