Ответ 1
От clang --cc1 --help
:
...
-D <macro> Predefine the specified macro
...
Как правило, предположим, что Clang эмулирует GCC, если не доказано обратное!
Я ищу эквивалент gcc -D LLVM (или clang), который позволяет определять макросы в командной строке.
Любые указатели будут замечательными.
От clang --cc1 --help
:
...
-D <macro> Predefine the specified macro
...
Как правило, предположим, что Clang эмулирует GCC, если не доказано обратное!
По умолчанию вызов clang
представляет собой gcc-подобный драйвер компилятора, поддерживающий те же параметры, что и gcc, включая -D
:
: ~$ cat test/z.c
int foo() {
return FOOBAR;
}
: ~$ clang -DFOOBAR -E -c test/z.c
# 1 "test/z.c"
# 1 "<built-in>" 1
# 1 "<built-in>" 3
# 154 "<built-in>" 3
# 1 "<command line>" 1
# 1 "<built-in>" 2
# 1 "test/z.c" 2
int foo() {
return 1;
}
Итак, если вы хотите заменить gcc, просто вызовите clang
. clang -cc1
вызывает компонент front-end clang, а не общий драйвер компилятора.