【发布时间】:2016-01-04 22:33:58
【问题描述】:
这里已经有一个相当相关的question (rq),但它不够专业,而且我的声誉也不够高,无法在 cmets 寻求更多建议……然而,时间不多了,我必须得到某处。 一旦原始问题得到回答,这个问题可以而且应该被删除。
我想要什么: 在 Visual Studio 2015 中工作,使用 qt 库。就是这样。
我做了什么:
第一个错误:构建过程没有创建任何 mkspecs,所以我无法在 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 是以前 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 版本和正确的编译器,仍然无法编译。 [qtmain.lib(qtmain_win.obj)] 中出现 LNK2019,告诉我函数“_WinMain@16”中有符号“__imp__CommandLineToArgvW@8”的链接,但未解决。
【问题讨论】:
标签: c++ visual-studio qt visual-studio-2015 qt5