Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/61.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_Makefile - Fatal编程技术网

C++ 使文件目标为$(%符号)

C++ 使文件目标为$(%符号),c++,c,makefile,C++,C,Makefile,有人能解释一下$(%符号)在下面的make file目标中的含义吗 R_all: $(%SYMBOLIC) $(CD_MAKE) $(BASE_ROOT) R_all 这只是一个名为%SYMBOLIC的变量。由于%字符的原因,您无法使用Makefile中的普通=或:=设置此类变量,但是您可以使用定义设置它,或者在环境中使用execve直接运行make发布整个makefile。您肯定可以使用=或:=来指定一个变量,其中名称包含%字符…?我想这可能取决于make的版本是否包含字符将

有人能解释一下$(%符号)在下面的make file目标中的含义吗

R_all:  $(%SYMBOLIC)
    $(CD_MAKE) $(BASE_ROOT)    R_all

这只是一个名为
%SYMBOLIC
的变量。由于
%
字符的原因,您无法使用Makefile中的普通
=
:=
设置此类变量,但是您可以使用
定义设置它,或者在环境中使用
execve直接运行make

发布整个makefile。您肯定可以使用
=
:=
来指定一个变量,其中名称包含
%
字符…?我想这可能取决于make的版本是否包含字符将
%
视为干扰赋值的特殊字符。可能某些make实现会出错,但GNU make的任何版本都不会出错。GNU make解析器首先查找一个“分隔符”,它是冒号或等号等,一旦发现它将基于此解释行的其余部分。因此,如果分隔符是
=
:=
,则第一个单词将始终被视为变量名,即使它包含
%
字符。