c++ - 为 msvc2015 构建 QT - 并获得工作项目?

标签 c++ visual-studio qt visual-studio-2015 qt5

已经有一个非常相关的question (rq)在这里,但它不够专业,而且我的声誉还不够高,无法在评论中寻求更多建议……但是,时间在流逝,我必须到达某个地方。 一旦原始问题得到解答,这个问题就可以而且应该被删除。

我想要的:在 Visual Studio 2015 中工作,使用 qt-library。就是这样。

我做了什么:

  • 安装vs2015,可以运行
  • 下载qt5.5.0源码,按照(rq)构建它使用jom的指令(nmake 的工作原理相同,只是速度较慢)
  • 安装vs2015的qt包扩展,同样遵循(rq)

第一个错误:构建过程没有创建任何 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”的链接,但未解决。

最佳答案

关于c++ - 为 msvc2015 构建 QT - 并获得工作项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32996555/

相关文章:

c++ - 如何将字符串 "YYYY/MM/DD"格式日期转换为 VARIANT 类型日期,反之亦然

python - 如何阻止 QThread 关闭?

qt - 为 Beagleboard (ARM) 编译嵌入式 Qt 时出错

c++ - 在网络浏览器上流式传输 C++ 文件

c++ - 正确覆盖文件元素时出现问题(数字)

c++ - C++ 标准库必须用 C++ 实现吗?

c# - 编译器错误 Visual Studio mac

visual-studio - TFS - 如何克隆项目以便回滚原始项目?

c++ - 在 CMD 中使用 CreateProcessWithTokenW 启动 CMD

c++ - Qt Animate QPushButton 图标