Я хочу добавить в CMakeLists.txt
Макроэквивалент необработанной строки:
#if defined(Q_OS_WIN)
#define COMMPORT_NAME R"(\\.\COM1)"#elif defined(Q_OS_UNIX)
#define COMMPORT_NAME "/dev/ttyS0"#else
#error "platform not supported"#endif
Я попробовал следующее:
if(WIN32)
target_compile_definitions(${PROJECT_NAME} PRIVATE -DCOMMPORT_NAME="R"(\\.\COM1)"")
elseif(UNIX)
target_compile_definitions(${PROJECT_NAME} PRIVATE -DCOMMPORT_NAME="/dev/ttyS0")
else()
message(FATAL_ERROR "platform not supported")
endif()
Но я получаю ошибку:
CMake Предупреждение (dev) в пути / к / проекту / CMakeLists.txt: 68:
Предупреждение о синтаксисе в коде cmake в столбце 85Аргумент не отделен от предшествующего токена пробелом.
Это предупреждение для разработчиков проектов. Используйте -Wno-dev, чтобы подавить его.
Можно ли использовать какие-то кавычки, например » в bash, чтобы предотвратить возникновение вышеуказанной ошибки?
Задача ещё не решена.
Других решений пока нет …