此问题已在此处有答案:
How to read a CMake Variable in C++ source code(1个答案)
9年前关闭。
首先,我已经读了How to read a CMake Variable in C++ source code,我不知道它是否能帮助我。
第二,我的问题。顶级CMakeLists.txt说SET( MY_VAR /some/path )
,在顶级source.cpp中,我需要以某种方式实现一个包含/some/path/to/files
的std::string
,自然使用MY_VAR
值。
3条答案
按热度按时间ffx8fchx1#
编辑:然后变量将在C++代码中可用:
ifsvaxew2#
你可以使用
configure_file(filename output_file)
命令。它用cmake变量VARIABLE
的实际值替换文件filename
中的${VARIABLE}
或@VARIABLE@
,并将结果写入output_file
。所以,你可以这样写
另外,我认为在构建目录中的某个地方生成输出文件是一个好主意(并将其包含目录添加到包含路径)。
configure_file in cmake文档
cgfeq70w3#
在编译过程中传入值的唯一方法是传入一个宏。例如,如果CMake设置了一个名为
$(MY_VAR)
的宏(就像make(1)
一样):并且
xxx.cc
按照其意愿使用MY_VAR
。