在this instructions之后,我创建一个包含headerconfig.h.in
的#cmakedefine USE_MYLIB
文件。在我的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作为模板。
关于c++ - 如何正确使用cmakedefine预处理程序指令?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30429491/