【问题标题】:QtCreator v2 doesn't recognize CMake v3QtCreator v2 无法识别 CMake v3
【发布时间】:2015-06-20 20:02:41
【问题描述】:
有关 Stack Overflow 的类似问题不太关注这个特定问题或没有提供解决方案*。
当导入现有的 CMake 项目时,QtCreator 不断询问 cmake 可执行文件的路径。输入不正确的路径后,该条目将被标记为红色字体。输入正确的路径后,字体恢复正常,但“下一步”按钮将保持禁用状态。因此导入对话框不允许用户继续,因此只能取消导入。
使用的具体版本:
- QtCreator v2.8.1
- CMake v3.2.2
- Gentoo Linux(它认为上述软件包版本是稳定的并从源代码安装它们)
*:最相似的问题是:Importing a CMake project in QtCreator,但没有提供解决方案。也许写了一个错误报告,但那是两年半前的事了,最近的 QtCreator v2 是大约 2 年前的 2.8.1。
【问题讨论】:
标签:
linux
cmake
qt-creator
gentoo
【解决方案1】:
我将 v2.8.1 的 QtCreator 源代码与最新的 v3.4.1 进行了比较,特别是用于处理此 CMake 路径对话框和检查可执行文件的代码。
事实证明,它不仅检查可执行文件是否存在,还检查命令cmake --help 和其他几个帮助命令提供的版本和功能信息。最重要的是,它会检查 cmake --help 的输出应提供的 CMake 版本。但是 CMake v3 不再像 v2 那样提供这些信息。
当然,由于所有这些工具都是开源的,因此可以修改 QtCreator 或 CMake 源代码来解决此问题。 或者可以只提供一个包裹在真正的 CMake 可执行文件周围的可执行文件,该可执行文件再次提供所有必需的信息。
一个小小的 shell 脚本帮了我大忙:
#!/bin/dash
if [ $# -eq 1 ] && [ "--help" = $1 ]; then
cmake --version
fi
cmake "$@"
exit 0
在菜单 Tools => Options... => Build & Run => CMake 配置 QtCreator 以使用上述 shell 脚本后,项目导入完美无缺。
【讨论】:
-
我 ran 与 CentOS7、Qt Creator 4.5.1 和 cmake3 类似。 Qt Creator 无法正确识别它,但类似的包装器可以正常工作,感谢您的提示!