从 Visual Studio 2012 中浏览 Qt 5.1.1 基本源 - 将 .pro 转换为 .sln 文件

Posted

技术标签:

【中文标题】从 Visual Studio 2012 中浏览 Qt 5.1.1 基本源 - 将 .pro 转换为 .sln 文件【英文标题】:Browsing the Qt 5.1.1 base source from within Visual Studio 2012 - Turning .pro into .sln files 【发布时间】:2013-11-11 10:26:01 【问题描述】:

我正在尝试创建一个 Qt 基础源代码的 .sln 文件,目的是查看和了解更多关于 Qt 源代码库的来龙去脉的信息。我认为很简单的事情变成了一项棘手的任务。

我应该澄清一下,我还没有尝试使用 Qt 构建一个项目 - 我有兴趣查看(并最终)构建 Qt SDK 本身。我强调“查看”的原因是因为 - 暂时 - 我想避免安装实际构建 Qt 所需的大量依赖项。

到目前为止,我已经访问了这个页面并下载了源代码:

http://qt-project.org/downloads

然后我继续启动 MSVC 命令提示符并运行 ./5.1.1/Src/qtbase 中的 configure.exe。

此时我确实运行了 nmake,完全意识到它可能刚刚开始构建 Qt(这又不是我的目标)。它在途中的某个地方做到了并且失败了。现在我陷入了困境,不知道如何创建包含 Qt SDK 的引用和源代码的 .sln 文件。

我了解到 .pro 文件基本上是我所需要的 - 只是为 Qt IDE 创建的。但是搜索如何将这些 .pro 文件转换为 .sln 只得到了一个关于使用 qmake 的结果。

我是这样尝试的:

qmake.exe qtbase.pro -tp vc

结果出现了许多错误:

警告:忽略(未找到)'D:/SDKS/Qt5.1.1/5.1.1/Src/qtbase/src/tools/bootstrap\Qt5Bootstrap.vcxproj' 警告:忽略(未找到)'D:/SDKS/Qt5.1.1/5.1.1/Src/qtbase/src/tools/moc\moc.vcxproj' 警告:忽略(未找到)'D:/SDKS/Qt5.1.1/5.1.1/Src/qtbase/src/tools/rcc\rcc.vcxproj' 警告:忽略(未找到)'D:/SDKS/Qt5.1.1/5.1.1/Src/qtbase/src/corelib\Qt5Core.vcxproj' 警告:忽略(未找到)'D:/SDKS/Qt5.1.1/5.1.1/Src/qtbase/src/winmain\qtmain.vcxproj' 警告:忽略(未找到)'D:/SDKS/Qt5.1.1/5.1.1/Src/qtbase/src/network\Qt5Network.vcxproj' 警告:忽略(未找到)'D:/SDKS/Qt5.1.1/5.1.1/Src/qtbase/src/sql\Qt5Sql.vcxproj' 警告:忽略(未找到)'D:/SDKS/Qt5.1.1/5.1.1/Src/qtbase/src/xml\Qt5Xml.vcxproj' 警告:忽略(未找到)'D:/SDKS/Qt5.1.1/5.1.1/Src/qtbase/src/testlib\Qt5Test.vcxproj' 警告:忽略(未找到)'D:/SDKS/Qt5.1.1/5.1.1/Src/qtbase/src/concurrent\Qt5Concurrent.vcxproj' 警告:忽略(未找到)'D:/SDKS/Qt5.1.1/5.1.1/Src/qtbase/src/angle/src/compiler/preprocessor\preprocessor.vcxproj' 警告:忽略(未找到)'D:/SDKS/Qt5.1.1/5.1.1/Src/qtbase/src/angle/src/compiler\translator_common.vcxproj' 警告:忽略(未找到)'D:/SDKS/Qt5.1.1/5.1.1/Src/qtbase/src/angle/src/compiler\translator_hlsl.vcxproj' 警告:忽略(未找到)'D:/SDKS/Qt5.1.1/5.1.1/Src/qtbase/src/angle/src/libGLESv2\libGLESv2.vcxproj' 警告:忽略(未找到)'D:/SDKS/Qt5.1.1/5.1.1/Src/qtbase/src/angle/src/libEGL\libEGL.vcxproj' 警告:忽略(未找到)'D:/SDKS/Qt5.1.1/5.1.1/Src/qtbase/src/gui\Qt5Gui.vcxproj' 警告:忽略(未找到)'D:/SDKS/Qt5.1.1/5.1.1/Src/qtbase/src/platformsupport\Qt5PlatformSupport.vcxproj' 警告:忽略(未找到)'D:/SDKS/Qt5.1.1/5.1.1/Src/qtbase/src/openglextensions\Qt5OpenGLExtensions.vcxproj' 警告:忽略(未找到)'D:/SDKS/Qt5.1.1/5.1.1/Src/qtbase/src/tools/uic\uic.vcxproj' 警告:忽略(未找到)'D:/SDKS/Qt5.1.1/5.1.1/Src/qtbase/src/widgets\Qt5Widgets.vcxproj' 警告:忽略(未找到)'D:/SDKS/Qt5.1.1/5.1.1/Src/qtbase/src/opengl\Qt5OpenGL.vcxproj'

...名单还在继续...

毫不奇怪,这些 vcxproj 文件实际上都不存在……我不知道下一步该做什么。有什么想法吗?

问候, 加佐

【问题讨论】:

通过浏览框架的源代码来了解框架是一种有趣的方法。为什么不只是创建一些小项目来尝试不同的方面。如果你的机器上有源代码,你也可以随时调试它们,看看 Qt 框架是如何工作的 【参考方案1】:

尝试使用这个 VS 插件:http://qt-project.org/downloads#qt-other 这允许您打开 .pro 文件(实际上在打开它们时会生成 .sln 文件)并编译 Qt 项目。 Qt 源代码很大,您可能需要一次打开它们一个模块,因为我的 VS 无法打开完整的 src.pro,但它可以分隔模块。

【讨论】:

在我看来,仅使用 qmake 仍然可以将 .pro 文件转换为 .sln,但是插件使一切工作或多或少。所以谢谢你的建议! :) 我试过qmake.exe -tp vc Test.pro,它适用于一个简单的项目 我也让它适用于 corelib.pro 文件,但不适用于 Qt 源代码中的 src.pro

以上是关于从 Visual Studio 2012 中浏览 Qt 5.1.1 基本源 - 将 .pro 转换为 .sln 文件的主要内容,如果未能解决你的问题,请参考以下文章

从 Visual Studio 2012 中删除窗口阴影/发光

将 VC++ 06 迁移到 Visual Studio 2012:从编译中删除 hcw

从文件中读取数据并将其写入不同的文件(Visual Studio 2012)

从 Visual Studio 2010 迁移到 2012 时的 C++11 问题

针对 Visual Studio 2012 本机 C++ 测试从命令行运行 mstest

从 Visual Studio 2012 调试 VB6 代码