从 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
文件和makefile
s?
【问题讨论】:
CMake 怎么样?有一个sln到cmake的转换工具:github.com/algorys/cmakeconverter 既然你已经在跨平台环境中工作了,为什么不考虑像cmake这样的true跨平台解决方案,而不是转换的解决方法:) 使用 Qt,你通常会走另一条路——你创作.pro
文件,qmake
可以从中生成 vcproj
和 sln
文件。
【参考方案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.pro
和 make
,以免 moc污染您的项目文件夹> 文件和 cmake 相关文件。
希望能帮到你,解决你的问题。
【讨论】:
问题是解决方案是分成项目的(有些是共享库,有些是可执行文件)。我将它们存储在单独的目录中,组合在一个目录中,如要组织的solution_dir/src/project_name
。而且我不会将所有.h
和.cpp
收集到一个目录中。
当然不,您不必混合不同项目的 .h 和 .cpp。但是,如果所有内部项目都用于构建您的解决方案,则从 solution_dir 运行 qmake -projet
甚至会通过包找到您的源(并且也会尊重层次结构)并生成 解决方案.pro 正确。另一方面,如果你想单独构建你的内部项目,你至少可以按项目生成一个 .pro 文件。如果我误解了您的问题,请随时告诉我,在这种情况下,我不会放过不好的解决方案。以上是关于从 sln 文件生成 Qt pro 文件的主要内容,如果未能解决你的问题,请参考以下文章