используя опцию GCC -D - PullRequest
       8

используя опцию GCC -D

0 голосов
/ 19 сентября 2018

Я сделал минимальный c-файл (main.c)

#if !defined(MBEDTLS_CONFIG_FILE)
    #error "not defined"
#else
    #include MBEDTLS_CONFIG_FILE
#endif

int main(void)
{
    while(1);
}

, теперь вызывая arm-none-eabi-gcc main.c, дает error: #error "no defined", и это нормально.

Но вызов arm-none-eabi-gcc main.c -DMBEDTLS_CONFIG_FILE="test.h" дает error: #include expects "FILENAME" or <FILENAME> поэтому он определен, но не соответствует ожидаемому значению.

Какой синтаксис правильный?(контекст: это работает из IDE, но я хочу перейти на cmake)

1 Ответ

0 голосов
/ 19 сентября 2018

Это оболочка , которая удаляет кавычки из строки, которую вы передаете.Вам нужно экранировать кавычки, чтобы сохранить их в макросе:

arm-none-eabi-gcc main.c -DMBEDTLS_CONFIG_FILE=\"test.h\"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...