gpt4 book ai didi

c++ - 包括在 Qt 项目上使用 CMake 和 Gnu 时出现的问题

转载 作者:行者123 更新时间:2023-11-30 03:12:14 25 4
gpt4 key购买 nike

我正在启动一个多平台(Win Xp、Linux)qt 项目。我想使用源代码构建,所以我的目录结构如下:

project/
CMakeLists.txt (global CMake file, includes other CMakeLists)
build/ (my build directory)
libA/
CMakeLists.txt
mystuff/
subprojectA/
CMakeLists.txt
subprojectB/
CMakeLists.txt

因此,当我在 Windows 上将它与 Visual Studio 生成器一起使用时,一切都可以正常构建。如果我在 Linux 或 Windows 下使用相同的结构和 CMakeLists 以及 MinGW 生成器,我会收到编译错误,因为位于构建目录下的 qt 生成的文件(通过 moc 和 uic)无法在我的子项目中找到我的头文件。一些 qt 生成的头文件/源文件依赖于我的头文件/源文件,因为我在我的 .ui 文件中使用了提升的小部件,这些小部件指向我的源代码中的实现。再次在 Visual Studio/NMake 下,一切都可以正常编译。

作为解决方法,我可以使用运行良好的源代码构建,或者我可以在全局 CMakeLists.txt 中添加以下内容:

include_directories(
mystuff/subprojectA
mystuff/subprojectB
)

但什么是正确的解决方案?非常感谢!!

最佳答案

我有一个类似的问题,包含在 unix 上的非源代码构建(尽管我没有使用 QT),并且在每个受影响的投影中我添加了:

include_directories( . )

不是最优雅的,但我为我工作。

关于c++ - 包括在 Qt 项目上使用 CMake 和 Gnu 时出现的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1328410/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com