Cmake';s未定义的引用链接错误
我正在定制通过cmake构建的qgis源代码 它有一个包含许多子目录的源目录树(其中也包含子目录) 整个源代码树被划分为几个模块,如核心模块,其中包含GIS核心组件、负责gui的gui、负责主应用程序(包含main.cpp)的应用程序以及其他模块 问题是我被一个需要访问不同模块中的静态类成员的需求所困扰。确切地说,是Gui模块中QgisApp类的某个成员 因此,在gui模块的一个.cpp中包含qgisapp.h通常会给我提供对我想要访问的mamber的未定义引用。。 后来,我将.h和.cpp包含在驻留在Gui模块根目录中的CMakeLists.txt文件中,并再次运行cmake,以便使makefile具有适当的include。。 但是,如果未定义的引用过多,那么这实际上会增加引用的数量(可能是因为我添加到CMakeLists.txt中的.h和.cpp本身包括其他在应用模块自己的CMakeLists.txt中有引用的.h和.cpp) 那么,我如何在其他模块中使用某个模块类的成员,该模块是使用不同的CMakeLists.txt集构建的,这些CMakeLists.txt集放在其各自的根目录中 这个问题与qgis没有特别的关系,但是可以遇到任何与qgis类似的源代码树。所以基本上这是一个与Cmake相关的问题 希望我能解决我的问题 我们将不胜感激 谢谢。应该做你想做的事。如果这不起作用,请尝试发布一些示例CMake代码?应该满足您的要求。如果这不起作用,请尝试发布一些示例CMake代码Cmake';s未定义的引用链接错误,cmake,qgis,Cmake,Qgis,我正在定制通过cmake构建的qgis源代码 它有一个包含许多子目录的源目录树(其中也包含子目录) 整个源代码树被划分为几个模块,如核心模块,其中包含GIS核心组件、负责gui的gui、负责主应用程序(包含main.cpp)的应用程序以及其他模块 问题是我被一个需要访问不同模块中的静态类成员的需求所困扰。确切地说,是Gui模块中QgisApp类的某个成员 因此,在gui模块的一个.cpp中包含qgisapp.h通常会给我提供对我想要访问的mamber的未定义引用。。 后来,我将.h和.cpp包含