Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何在c++;上课?_C++_Cmake - Fatal编程技术网

C++ 如何在c++;上课?

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

我在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_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,以及如何回答您的问题。对不起,我的意思是,如果有办法将这些宏字符串化,那么我可以在单个日志中显示它们。我的问题不好,我应该删除它吗?