从 sln 文件生成 Qt pro 文件

Posted

技术标签:

【中文标题】从 sln 文件生成 Qt pro 文件【英文标题】:Generating Qt pro files from sln file 【发布时间】:2019-05-23 12:27:16 【问题描述】:

我喜欢在 Visual Studio 中制作 Qt 应用程序。但有时,需要在没有 Visual Studio 的 Linux 空间中继续开发。因此,需要手动记下项目文件。

是否可以从配置的.sln文件生成.pro文件和makefiles?

【问题讨论】:

CMake 怎么样?有一个sln到cmake的转换工具:github.com/algorys/cmakeconverter 既然你已经在跨平台环境中工作了,为什么不考虑像cmake这样的true跨平台解决方案,而不是转换的解决方法:) 使用 Qt,你通常会走另一条路——你创作 .pro 文件,qmake 可以从中生成 vcprojsln 文件。 【参考方案1】:

我不使用 Microsoft Visual Studio,所以我从来不用处理 .sln 文件。

但实际上,要在 linux 中通过命令行生成 Qt 环境,您不需要 .sln 文件。您只需执行以下操作:

创建你的项目目录,我们称之为MyQtProject 在您的源文件(.h、.cpp)中复制 然后cd MyQtProject 并运行qmake -project:它将读取您的目录并创建您的.pro 文件(添加您的头文件和源文件,...)。 您可以编辑生成的MyQtProject.pro文件添加一些具体的指令(例如QT += widgets) 然后您只需运行qmake MyQtProject.pro 即可生成Makefile。 最后运行make编译。

当然,您可以在 MyQtProject 中创建一个构建目录并在其中运行 qmake ../MyQtProject.promake,以免 moc污染您的项目文件夹> 文件和 cmake 相关文件。

希望能帮到你,解决你的问题。

【讨论】:

问题是解决方案是分成项目的(有些是共享库,有些是可执行文件)。我将它们存储在单独的目录中,组合在一个目录中,如要组织的solution_dir/src/project_name。而且我不会将所有.h.cpp 收集到一个目录中。 当然不,您不必混合不同项目的 .h.cpp。但是,如果所有内部项目都用于构建您的解决方案,则从 solution_dir 运行 qmake -projet 甚至会通过包找到您的源(并且也会尊重层次结构)并生成 解决方案.pro 正确。另一方面,如果你想单独构建你的内部项目,你至少可以按项目生成一个 .pro 文件。如果我误解了您的问题,请随时告诉我,在这种情况下,我不会放过不好的解决方案。

以上是关于从 sln 文件生成 Qt pro 文件的主要内容,如果未能解决你的问题,请参考以下文章

vs2010打开qt的.pro文件时错误解决办法

在 qmake 生成的 .vcxproj 中导入 .props 文件

QT中.pro文件的写法

qt中.pro文件调用多个makefile文件

Qt_Pro详解

由makefile 如何生成QT 的pro 文件