【问题标题】:How to setup meson with Qt creator如何使用 Qt creator 设置介子
【发布时间】:2017-10-03 04:22:11
【问题描述】:
我通常使用 Qt creator 和 cmake 来编写 C++ 项目。最近我读了很多关于介子的文章,它很简单,我喜欢测试它。 This 示例说明了如何设置介子。
在使用介子时,我仍然喜欢使用 Qt 创建者的快捷方式来构建 (ctrl + B) 或运行 (ctrl + R)。当我使用“generic project”时,如何配置 Qt creator 来构建介子项目?
【问题讨论】:
标签:
qt-creator
build-system
meson-build
【解决方案1】:
Qt Creator 目前不直接支持 Meson。有一个错误报告要求:https://bugreports.qt.io/browse/QTCREATORBUG-18117,我正在考虑实际实现它。
目前我通过“通用项目”使用介子。转到“新文件或项目”,“导入项目”,然后有“导入现有项目”。这将为您提供一个对话框,您可以在其中选择项目所包含的文件。
完成后,您需要编辑“projectname.includes”并将包含目录(每行一个)添加到该文件中。然后你需要编辑“projectname.config”并在那里添加定义(每行一个)。
最后,您需要编辑构建配置并调用 ninja 而不是那里的 make。
这样它对我的小项目来说效果很好。
【解决方案2】:
在 QtCreator 直接支持 meson.build 项目文件之前,我发现这个 python2 脚本对创建 QtCreator 通用项目文件很有用:https://github.com/mbitsnbites/meson2ide
在你的 PATH 中使用 meson 和 ninja,这应该可以工作:
$ meson builddir
$ python2 meson2ide.py builddir
这会在builddir 中生成一个.creator 项目文件(如果您收到关于“未找到“mesonintrospect”的错误,请尝试此 PR:https://github.com/mbitsnbites/meson2ide/pull/1)
要使 CTRL+B 正常工作,在 QtCreator 构建设置中,删除 make 构建步骤并添加带有忍者可执行文件路径的自定义构建步骤,并添加命令行参数
3>&1 1>&2 2>&3
这些重定向允许 QtCreator 在“问题”面板中捕获构建错误。