我通常通过将-include
标志传递给gcc来解决此问题。
# This works, but I think it's non-portable
target_compile_options(my_proj PRIVATE -include config.h)
我尝试过add_executable(my_proj main.c config.h)
,但是在config.h中找到的符号在main.c中未定义
此问题不是CMake how to include headers without sources?的重复,因为我只是想在命令行上使用预处理器包含标头。我不想将源代码更改为#include
头文件。