Как я могу использовать макросы, созданные с помощью cmake add_compile_definitions и списка аргумента?C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Как я могу использовать макросы, созданные с помощью cmake add_compile_definitions и списка аргумента?

Сообщение Anonymous »

Соответствующий фрагмент моего файла cmakelists.txt :

Код: Выделить всё

add_executable(hello main.cpp)
set(helloCompileOptions -Wall -Wextra -O3 -Wno-narrowing -ffast-math -march=native)
target_compile_options(hello PRIVATE ${helloCompileOptions})
target_compile_features(hello PUBLIC cxx_std_23)
add_compile_definitions(COMPILE_OPTIONS="${helloCompileOptions}")
< /code>
создает эти ошибки компиляции: < /p>
[build] :1:9: error: macro name must be an identifier
[build]     1 | #define -O3 1
[build]       |         ^
[build] :2:9: error: macro name must be an identifier
[build]     2 | #define -Wextra 1
[build]       |         ^
...
Как мне обрабатывать hellocompileoptions , поэтому он компилируется и доступен в качестве строки для моего кода C ++?

Подробнее здесь: https://stackoverflow.com/questions/777 ... t-argument
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»