C++ 如何在c++;上课?
我在CMakeLists.txt中定义了几个变量,如下所示:C++ 如何在c++;上课?,c++,cmake,C++,Cmake,我在CMakeLists.txt中定义了几个变量,如下所示: # the subject of the commit execute_process( COMMAND git log -1 --format=%s WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} OUTPUT_VARIABLE GIT_COMMIT_SUBJECT ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE ) add_definition
# the subject of the commit
execute_process(
COMMAND git log -1 --format=%s
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
OUTPUT_VARIABLE GIT_COMMIT_SUBJECT
ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE
)
add_definitions("-DGIT_COMMIT_SUBJECT=${GIT_COMMIT_SUBJECT}")
如何访问类中的GIT\u COMMIT\u主题
像这样:
int main(int argc, char* argv[])
{
printf("GIT_COMMIT_SUBJECT = %s \n", GIT_COMMIT_SUBJECT);
}
构建宏时,可以将宏定义为字符串,但需要将字符串括在双引号中:
add_definitions("-DGIT_COMMIT_SUBJECT=\"${GIT_COMMIT_SUBJECT}\"")
现在,在代码中使用宏
GIT\u COMMIT\u SUBJECT
将被文字字符串替换。您是否尝试过显示的代码?你有什么问题吗?预期的结果是什么?实际结果如何?CMake变量GIT\u COMMIT\u SUBJECT
的值是多少?它是一根绳子吗?一个号码?还有别的吗?另外,请花一些时间刷新,阅读SO,以及如何回答您的问题。对不起,我的意思是,如果有办法将这些宏字符串化,那么我可以在单个日志中显示它们。我的问题不好,我应该删除它吗?