嵌套的CmakeLists.txt似乎忘记了qt4包

嵌套的CmakeLists.txt似乎忘记了qt4包,cmake,qt4,Cmake,Qt4,我有一个新项目要做,它正在由cmake建造。我有点熟悉这个系统,但不是一个真正了解实际情况的用户。该项目使用qt4,并在根目录的子目录中使用命令“qt4_wrap_cpp(…)”。问题是cmake抛出了一个错误:未知的cmake命令“qt4\u wrap\u cpp”。顶级文件夹中的CMakeLists.txt中有一行“find_package(qt4)”,到目前为止,我看到的所有内容都建议添加该行。 有人知道我下一步可以做什么来告诉cmake我已经添加了qt4吗 编辑:结构示例 root//这

我有一个新项目要做,它正在由cmake建造。我有点熟悉这个系统,但不是一个真正了解实际情况的用户。该项目使用qt4,并在根目录的子目录中使用命令“qt4_wrap_cpp(…)”。问题是cmake抛出了一个错误:未知的cmake命令“qt4\u wrap\u cpp”。顶级文件夹中的CMakeLists.txt中有一行“find_package(qt4)”,到目前为止,我看到的所有内容都建议添加该行。 有人知道我下一步可以做什么来告诉cmake我已经添加了qt4吗

编辑:结构示例

root//这里是顶级的cmakelists

->查找_包(需要qt4)

->添加_子目录(子目录)

分:

->添加子目录(另一个子目录)

另一个小组:


->qt4_wrap_cpp()

如何实现“嵌套”?请给出一个更详细的文件夹结构和你使用的CMakeLists.txt的例子。由于英语不是我的母语,我为这些语言上的不确定性道歉。“嵌套”是通过一个顶级的CMakeLists.txt实现的,它的末尾有一个“Add_subdirectory()”。这导致另一个CmakeLists.txt包含大约6行其他“add_subdirectory”,其中一行使用了提到的qt4_wrap_cpp。该命令应该在嵌套的子文件夹中可用,我怀疑没有正确找到Qt包。使用
find_package(需要qt4)
确保在找不到包时出错。
qt4\u wrap\u cpp
在顶级CMakeLists.txt文件中有效吗?find\u包(需要qt4)在顶级文件中,不会导致错误。当我将产生错误的行复制到顶层文件时,它不会改变任何内容。为了进行测试,我从构建进度中排除了这些文件,并进行了编译(警告说,其他一些包需要从排除的包中获取内容)。当我现在尝试创建项目时,它不会从其他包中找到“include”。我开始认为qt通常没有在这里配置我认为我找到了一个解决方案(尽管它只是增加了另一个问题):我只是在cmakelists.txt中再次添加了必要的命令(查找qt4等),cmake运行时没有出现错误。