如何正确使用 cmakedefine 预处理器指令?

How to use cmakedefine preprocessor directive properly?

this instructions 之后,我创建了一个包含 #cmakedefine USE_MYLIBheaderconfig.h.in 文件。在我的 main.cpp 文件中,我添加了 #include headerconfig.h.in。而且,我也为此设置了 CMakeLists.txt 文件。但是,我得到了这个:

error: invalid preprocessing directive #cmakedefine

我做错了什么?出于某种原因 cmake 无法读取 #cmakedefine 预处理程序?

您不应包括 "headerconfig.h.in",而应包括 "headerconfig.h"、
并在您的 cmake 中添加适当的 configure_file 调用。
这个想法是 cmake 处理 headerconfig.h.in 并生成 headerconfig.h,
用实际值替换“#cmakedefine”,它使用 headerconfig.h.in 作为模板。