【发布时间】:2016-10-27 18:41:22
【问题描述】:
环境:
- Windows 8.1
- Microsoft Visual Studio 2013
- 从qt-everywhere-opensource-src-5.6.1.tar.gz 构建 Qt
- 使用 jom 通过 NMake Makefiles 构建
一切正常,但共享库文件没有 *.dll 文件扩展名。它们存在,dumpbin 将它们识别为 dll 文件,但它们被命名为 QtCore、QtGui、...而不是 QtCore.dll、QtGui.dll、...
因此,当我尝试针对已构建的 Qt 构建客户端项目时,我收到 CMake 配置时间错误,因为 find_package(Qt) 调用找不到任何 *.dll 文件。
为什么在 Qt 5.4.2 和 5.6.1 之间发生了这种变化?是否有解决办法?
我可以在完全相同的环境中构建 Qt 5.4.2,我 确实 获得 *.dll 文件,但我根本无法在 Windows 上构建 Qt 5.5.*,Qt 5.6.1 和当我在 Windows 上构建时,5.7.0 产生了这个问题。
【问题讨论】:
-
上次我看到这个有一个 Cygwin 安装干扰。
-
这里没有cygwin。除非 Windows 的 git bash 提示算作 cygwin。
-
嗯,它可能。您是否尝试过使用 VS 命令提示符?
-
我可以从原始的 VS 命令提示符中尝试。我一直在从原始 Windows 命令提示符构建,包括用于设置环境的 VS 命令提示符,然后进一步添加到 env 以便 PATH 中可以使用 git 工具。构建的其他部分(非 Qt)从 git repos 执行操作,我需要在构建这些子树时获取最新提交的哈希。我将从原始的 VS 命令提示符尝试一下,看看会发生什么。
标签: c++ windows qt visual-c++ dll