【问题标题】:Add Qt 5.8 in KDevelop / cmake on Debian在 Debian 上的 KDevelop / cmake 中添加 Qt 5.8
【发布时间】:2017-03-27 03:01:11
【问题描述】:

我已经在用户主目录中安装了当前的 Qt 5.8,现在尝试使用它三天。 Cmake 总是使用系统范围的 Qt 安装,而 kdevelop 也是如此。新的东西没有 CodeCompletion 等等...... 我试图在 /opt/Qt 中安装它,但没有任何改变。 那么谁能告诉我我必须更改哪些环境变量才能将当前的 Qt 版本集成到我的开发系统中?

非常感谢

顺便说一句——它是一个运行在 Debian Linux 测试上的 kdevelop 5.0

【问题讨论】:

  • 谢谢你,如果你能链接一个解决方法来完成代码就可以了...... cmake 现在工作正常,但 kdevelop 仍然不知道新的库

标签: qt cmake debian kdevelop


【解决方案1】:

来自cmake does not find qt 5.1.1问题:

您需要将 CMAKE_MODULE_PATH 设置为 *.cmake 文件所在的 Qt 安装。此 CMake 变量用于选择用于编译的 Qt 安装。还有一个`CMAKE_PREFIX_PATH 环境变量。

http://doc.qt.io/qt-5/cmake-manual.html

代码完成:在项目设置中添加包含路径,例如:

/.../.../5.8/gcc_64/include/QtGui/
/.../.../5.8/gcc_64/include/QtCore/
/.../.../5.8/gcc_64/include/QtQuick/
...

【讨论】:

  • CMAKE_PREFIX_PATH 是环境变量,而不是 cmake 变量。如果你想在多个 Qt 版本之间轻松切换,你可以使用 Kdevelops 环境组来实现:在 settings -> environment 中为每个 qt 版本设置一个环境组,并设置 CMAKE_PREFIX_PATH (例如~/Qt/5.8)并在它们之间切换项目配置(高级!)
  • @at-2500,您对 CMAKE_PREFIX_PATH 的看法是正确的,我可能指的是 CMAKE_MODULE_PATH。
  • +1。使用 KDevelop 的环境组是这里的方法。这也是我个人使用的。为了运行您的应用程序,您可能需要设置额外的 Qt 相关环境变量,例如QT_PLUGIN_PATHQML2_IMPORT_PATH 等。
【解决方案2】:

编辑:以下内容仅适用于Qt4,不适用于Qt5

cmake 找到的默认 qt 版本是与 $PATH 中的 qmake 二进制文件相关联的版本。运行which qmake 以找出它是哪一个。它可能是系统范围的。强制 cmake 查找自定义版本的最快方法是将 Qt 的 bin 文件夹添加到 $PATH 作为第一个条目并从该命令行运行 kdevelop:PATH=/opt/Qt/5.8/bin:$PATH kdevelop。然后代码完成也应该起作用,因为 AFAIK kdevelop 使用由 cmake 评估的包含文件夹来完成代码。

您可能需要考虑切换到 QtCreator,它通过将所有 Qt 版本列为“工具包”来解决此问题,您可以在项目设置中选择。

【讨论】:

  • 从 5.0 开始,CMake 不再关注 qmake 二进制文件,而是检查 Qt5 安装的 CMake 配置模块。 CMAKE_PREFIX_PATH 是确保 CMake 检测到正确的配置模块的规范方法。修改 PATH 只是一种不走运的 hack(另请参阅cmake.org/cmake/help/v3.0/command/find_package.html -“搜索路径”)
  • 确实,你是对的。我会在回答中提到这一点。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-11-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-11-21
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多