QtCreator 4 和 CMake 参数

13

我曾经使用QtCreator打开基于CMake的C++项目,并在配置项目时传递自定义的CMake命令行参数。但在最近的QtCreator版本(确切地说是QtCreator 4)中,似乎再也无法这样做了 - QtCreator使用其自己的一组CMake变量及其默认值来配置项目。这非常烦人,因为更改某些CMake变量的唯一方法是单击“项目”,然后逐个修改变量,这真的很繁琐。我已经将特定机器和该机器上的设置的配置参数保存在文本文件中,只需将其粘贴到Qtcreator的配置对话框中,然后运行CMake即可,但此对话框现在消失了。您知道是否有一种在打开新项目时传递自定义CMake值的方法吗?

我尝试清除构建目录,在源树中删除CMakeLists.txt.user,以我的参数运行CMake,然后使用QtCreator打开项目。不幸的是,QtCreator忽略了缓存的值并生成了自己的...


这是一个测试版,可能会缺少一些功能,对吧? - Boiethios
是的,这是可能的。或者开发人员决定将其删除。我不知道... - Martin Vymazal
1
我认为了解它的更好方法是在Qt论坛上询问。我没有这个版本:这不是商业版本吗?在这种情况下,您必须获得支持。 - Boiethios
这不是商业版本,而是在Linux上从源代码编译的QtCreator。也许我应该等待官方发布 - 正如你所说,该功能可能只是暂时禁用了。 - Martin Vymazal
截至Qt Creator 4.1.0,情况并未改变。 - normanius
这个问题已经有一个错误报告,但它仍未得到解决。我们肯定不是唯一一个想要恢复旧行为的人(请参见此处的评论)。 - normanius
3个回答

9

"工具" > "选项" > "构建和运行" > "你的套件" > "CMake配置"

添加一行并重新构建。你也可以走捷径 Ctrl+5(项目模式)> "管理套件..."。


5
为了构建一个CMake项目,需要编辑一个工具包吗?代表为特定目标构建工具链的工具包应该不关心特定项目的细节吧? - normanius

3

当我有特定于工具包的CMake变量而没有项目特定变量时,@Manuel的答案对我来说是理想的。

当您具有特定于项目的CMake变量时,我看到/使用的最近QtCreator版本(~4+)的选项是:

从QtCreator

  • 打开项目
  • 转到左侧的“项目”并选择“构建设置”
  • 在CMake下,使用“添加”按钮添加新设置
  • “应用配置更改”
  • “构建”菜单,“运行CMake”
  • 注意事项:
    • 如果您的项目更新了CMake变量(大多数情况下会这样),则可能需要再次“应用配置更改”。
    • 如果您启用了自动运行CMake的功能,则它可能会在后台运行,进一步混淆事情。这可能会创建鸡和蛋的情况-令人沮丧!

在QtCreator之外

  • 转到构建目录
  • 像往常一样使用您的命令运行CMake
  • 打开QtCreator
  • 打开项目
  • 在项目-构建设置下:
    • 确认“构建目录:”是否符合预期
    • 确认您的CMake变量出现在变量列表中

可悲的是,我发现这两个选项都非常不令人满意...


0
自QtCreator 4.13版本开始,可以在每个项目中设置CMake参数(终于):
项目 > 构建设置 > CMake > 初始CMake参数

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