1

我想添加到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() 

但我收到一个错误:

path/to/project/CMakeLists.txt:68 处的 CMake 警告(dev):第 85 列的 cmake 代码中的语法警告

参数没有用空格与前面的标记分隔。此警告适用于项目开发人员。使用 -Wno-dev 来抑制它。

是否可以在 bash 中使用某种引号,例如 '' 来防止发生上述错误?

4

0 回答 0