在Windows 7上构建64位Qt?(Qt 5.0.2,MS Visual Studio 2012)

3
[如果将此作为单独的问题发布不合适:我试图将其附加为原始问题的“子问题”的一部分。但是,我无法找到如何执行此操作,因此选择将其作为新问题发布。不过,当我解决了这个问题后,我打算将答案附加到以下段落中的链接的适当部分。]
我正在尝试在Windows 7专业版64位PC上使用Visual Studio 2012使Qt正常工作。我在https://dev59.com/3GUo5IYBdhLWcg3wtRQx#16533188的一个答案中找到了一些非常有用的说明。
然而,我即将失败,出现了致命错误。当我键入nmake命令时:
nmake /I /K
我得到了这个致命错误:

C:\Qt\qt>nmake /I /K /A

Microsoft (R) Program Maintenance Utility Version 11.00.50727.1 版权所有(C) Microsoft Corporation。保留所有权利。

NMAKE:致命错误 U1064:未找到 MAKEFILE 并且未指定目标 停止。

C:\Qt\qt>

我一直在尝试使用Google和Stack Overflow研究解决我的问题,但是我没有太多的运气。

我能找到的与U1064致命错误最接近的具体信息在这里: compiling QT 4,8,0 in windows 7 x64 with visual studio 2010 gives makefile not found 它描述了检查Perl是否成功安装(我获取了最新版本的ActivePerl)并查看configure.exe输出中的错误消息。今天早上,我再次尝试了第5至14步,但结果相同,我无法找到任何明显的错误来帮助我调试问题。

根据上述Stack Overflow问题(在Windows 7 x64中使用Visual Studio 2010编译QT 4.8.0会提示找不到makefile),跟随blogspot链接(http://thomasstockx.blogspot.co.uk/2011/03/qt-472-in-visual-studio-2010.html)建议我在使用configure命令时应包括平台参数,该参数在第12点中有描述。因此,我包含了参数:

-platform win32-msvc2012

相同的信息可以在Qt中找到:http://qt-project.org/doc/qt-4.7/install-win.html。根据该页面,如果需要重新配置和重建Qt,则只需键入“nmake distclean”。但是,如果我这样做,就会出现另一个致命错误:

C:\Qt\qt> nmake distclean

Microsoft(R)程序维护实用程序版本11.00.50727.1版权所有(C) Microsoft Corporation。保留所有权利。

NMAKE: 致命错误 U1073: 不知道如何制作'distclean'。停止。

C:\Qt\qt>

总体而言,我认为缺少某些重要内容,因为nmake无法在第一个致命错误的实例中找到makefile。 我假设makefile应该由步骤12的configure操作生成,但我在那里找不到任何提示。 我附加了日志文件,以捕获步骤11和12的输出,以防我错过了任何内容。

实际上,在configure.exe的结尾有两行提到“未知部分..”,但我假设这些是不重要的模块:

[..]
Unknown part demos passed to -nomake.
Unknown part webkit passed to -nomake.

C:\Qt\qt

软件列表(版本)
  • Git-1.8.4-preview20130916.exe
  • ActivePerl-5.16.3.1603-MSWin32-x64-296746.msi
  • rubyinstaller-1.9.3-p448.exe

2013年10月23日:编辑

抱歉,无法在此网站上附加文件。但是,可以使用诸如pastebin.com之类的网站。

来自configure.exe的输出: http://pastebin.com/CzHTcJE3

来自Perl的输出: http://pastebin.com/Hf6hgiwU

据我所知,configure.exe没有报告任何问题。


当你运行configure时,是否出现了任何错误?那部分应该创建makefile。 - drescherjm
configure 没有报告任何错误。然而,我通过直接从 Qt 网站使用安装程序来解决问题,并成功安装了 Qt。 - PhilPhil
1
我看到两个警告:"Unknown part demos passed to -nomake. Unknown part webkit passed to -nomake." 我会将它们从配置行中删除,然后再试一次。 - drescherjm
我可能错了,但在我遵循的指示中,它说WebKit模块存在问题,不应包括。因此,我会认为我遵循的指示会省略WebKit。无论如何,我尝试通过直接从Qt网站使用相关安装程序来解决这个问题,现在我能够在MSVS 2012中构建Qt项目。所以对我来说,尝试从源代码构建Qt是不必要地复杂。 - PhilPhil
1个回答

0

我不知道这是否是正确的程序,关于回答自己的问题。然而,我成功解决了我的问题,通过避免从源代码构建,而是从Qt官方网站下载了一个官方安装程序:http://qt-project.org/downloads

因此,如果将来有人偶然发现这个问题,并且真的需要从源代码构建,我只能把这个人引回到原始问题:

https://dev59.com/3GUo5IYBdhLWcg3wtRQx#16533188


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接