0

我正在尝试确定构建项目的正确方法。由于要求,我使用 cmake 而不是 qmake。在我的 Qt 项目中,我使用的是Remote Objects

问题是qt5_generate_repc从文件生成我的标头.rep并将其放置在CMAKE_CURRENT_BINARY_DIR并使其可访问以包含我需要target_include_directories我的构建目录,我不确定这是否是一个好主意。

也许有更好的方法,或者我不了解一些基本原理?

4

1 回答 1

1

问题是, qt5_generate_repc从 .rep 文件生成我的标头将它放在 CMAKE_CURRENT_BINARY_DIR 并使其可用于包含我需要 target_include_directories 我的构建目录,我不确定这是否是一个好主意。

这是一种完全正常且被接受的做法,并且确实是构建时生成的源代码的最佳做法。你应该做这个。

原因很简单,你不应该在树外构建中写入源目录,这是使用 CMake(树外)的幸运方式。

总体效果是防止可能发生的一类名称冲突和覆盖问题。

于 2021-06-23T17:55:01.920 回答