CMake 路径中的错误

Posted

技术标签:

【中文标题】CMake 路径中的错误【英文标题】:Error in CMake path 【发布时间】:2011-05-13 21:44:26 【问题描述】:

我正在尝试为 kinect 演示事物构建 Visual Studio 项目,rgbddemo。根据页面上的说明,我需要设置 PATH 变量以包含来自 QT 的 QMAKE。我这样做了,但我不断收到此错误:

CMakeLists.txt:1 (QT4_WRAP_CPP) 处的 CMake 错误: 未知的 CMake 命令“QT4_WRAP_CPP”。

根据我从谷歌收集到的信息,CMake 知道 QT 中的内容在哪里是一个问题。我在上面链接的页面还提到您可以在 CMake 中设置 QMAKE 的路径,但我不知道该怎么做。有没有人有什么建议?谢谢。

【问题讨论】:

【参考方案1】:

您可以尝试插入该行

FIND_PACKAGE(Qt4)

进入顶层 CMakeLists.txt 文件后的行

INCLUDE("$nestk_BINARY_DIR/UseNestk.cmake")

这应该会导致它尝试为您找到qmake。我不确定他们为什么没有那个,但是我对 cmake 不是很熟悉。

【讨论】:

好的,添加 FIND_PACKAGE 行有效,并且它能够找到 QMAKE 路径,但是它现在给出了一个新错误:未知的 CMake 命令“INSTALL_STANDALONE_BUNDLE”。我不知道 CMake 是否应该已经知道那是什么,或者它是否应该在另一个文件中定义,但我找不到任何其他对它的引用。这是*** CMakeLists.txt:pastebin.com/iQiWXqfa 这是我正在尝试构建的部分的 CMakeLists.txt:pastebin.com/9UrMZJM0【参考方案2】:

我认为您的 CMakeLists.txt 文件中的这几行可以帮助您。

find_package(Qt4 Required)
include($QT_USE_FILE) #contains path to Qt header

#...

qt4_wrap_cpp(MOC_SOURCES $MY_HEADERS) #invoking moc 
add_library(MY_LIB $SOURCES $MOC_SOURCES) #building lib
target_link_libraries(MY_LIB $QT_LIBRARIES)

qt4_add_resources(MY_QT_RSC $RESOURCES) #if you want to compile from resource files
add_library(MY_LIB_2 $MY_QT_RSC SOURCES)

【讨论】:

以上是关于CMake 路径中的错误的主要内容,如果未能解决你的问题,请参考以下文章

解决用cmake编译与opencv相关的工程出现的错误

cmake 错误 - 找不到 opencv 库或头文件

Python Face_Recognition - Cmake | Dlib 安装错误窗口

Windows 上的 CMake - 使用导入的目标 OpenGL::GLU 时 FindOpenGL.cmake 中的错误?

cmake中的奇怪字符“â”生成makefile错误

未定义对“cudaRegisterLinkedBinary”的引用-CMake 中的链接错误?