CMake 错误:此项目中使用了以下变量,但它们设置为 NOTFOUND

Posted

技术标签:

【中文标题】CMake 错误:此项目中使用了以下变量,但它们设置为 NOTFOUND【英文标题】:CMake Error: The following variables are used in this project, but they are set to NOTFOUND 【发布时间】:2013-04-11 12:45:47 【问题描述】:

我正在为 CentOS 6 上的项目运行 CMake 构建脚本,但出现以下错误:

CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
QT_QTOPENGL_INCLUDE_DIR (ADVANCED)
  used as include directory in directory /home/auser/Documents/Projects/Framework/src/AFrameworkFolder
QT_QTWEBKIT_INCLUDE_DIR (ADVANCED)
  used as include directory in directory /home/auser/Documents/Projects/Framework/src/BFrameworkFolder

我已安装 QT 4.8.4,并且我使用的是 CMake 版本 2.8.10.2。我使用的构建脚本在 Mac OSX 10.8 上也可以正常工作。

谁能告诉我这里发生了什么?

在我看来,它似乎很难找到它需要的一些 QT 文件夹,而且我在 QT 中没有看到任何提到 OpenGL 或 Webkit 的文件夹。如果缺少这些,我将如何安装它们?如果这不是问题,有人可以指导我修复解决方案吗?

【问题讨论】:

【参考方案1】:

原来 OpenGL 和 Webkit 的文件夹丢失了。我只需要重新下载一个干净的 QT 副本并按照此处的安装说明进行安装:http://qt-project.org/doc/qt-4.8/install-x11.html

【讨论】:

【参考方案2】:

如果没有看到实际的CMakeLists.txt,很难判断,但请确保您正确找到了 QtOpenGL。也就是说,确保您的发现要求提供所需的 Qt 模块,如下所示:

set(QT_USE_QTOPENGL 1)
find_package(Qt4 REQUIRED)

【讨论】:

没有将 CMakeList.txt 作为框架的一部分发布,所以它实际上有很多部分,太多了,无法全部包含在内。但是,它确实具有您所描述的部分。此外,它在 Mac OSX 上运行良好。此外,在 CentOS 上,它可以很好地找到其他 QT 目录(QT_INCLUDE_DIR & QT_QTCORE_INCLUDE_DIR)。它似乎只是错误消息中提到的两个QT目录找不到。【参考方案3】:

安装 qtwebkit-devel RPM 即可解决。

【讨论】:

以上是关于CMake 错误:此项目中使用了以下变量,但它们设置为 NOTFOUND的主要内容,如果未能解决你的问题,请参考以下文章

CMake构建NDK项目提示asm/types.h找不到

CMake 路径中的错误

CMake 找不到诅咒

CMake 标头识别:

如何构建 CMake 项目

CMAKE 使用环境变量而不将它们作为命令行参数传递?