Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/56.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
使用GCC-D选项_C_Gcc - Fatal编程技术网

使用GCC-D选项

使用GCC-D选项,c,gcc,C,Gcc,我做了一个最小的c文件(main.c) 现在调用arm none eabi gcc main.c将给出error:#error“no defined”,这样就可以了 但是调用arm none eabi gcc main.c-DMBEDTLS_CONFIG_FILE=“test.h”会产生错误:#include预期为“FILENAME”或,因此它是定义的,但不是我预期的值 正确的语法是什么?(上下文:这在IDE中工作,但我想转到cmake)是shell从传递的字符串中删除引号。您需要转义引号以将其

我做了一个最小的c文件(main.c)

现在调用
arm none eabi gcc main.c
将给出
error:#error“no defined”
,这样就可以了

但是调用
arm none eabi gcc main.c-DMBEDTLS_CONFIG_FILE=“test.h”
会产生
错误:#include预期为“FILENAME”或
,因此它是定义的,但不是我预期的值

正确的语法是什么?(上下文:这在IDE中工作,但我想转到cmake)

是shell从传递的字符串中删除引号。您需要转义引号以将其保留在宏中:

arm-none-eabi-gcc main.c -DMBEDTLS_CONFIG_FILE=\"test.h\"

工作对于cmake,我需要避开转义字符和双引号。谢谢尝试
-DMBEDTLS\u CONFIG\u FILE=''test.h'
,这可能更适合cmake。
arm-none-eabi-gcc main.c -DMBEDTLS_CONFIG_FILE=\"test.h\"