gpt4 book ai didi

c++ - cmake 在 Windows 上生成错误,因为它使用\as escape seq

转载 作者:可可西里 更新时间:2023-11-01 09:53:04 30 4
gpt4 key购买 nike

我的 cmake 中有这样的东西:

set(MyLib_SRC $ENV{MyLib_DIR}/MyLib.cpp)
add_library(MyLibrary STATIC ${MyLib_SRC})

但是当我运行 cmake 时,出现了这个错误:

CMake Warning (dev) at CMakeLists.txt:97 (add_library):
Syntax error in cmake code when parsing string

D:\New\Development\Lib/myLib.cpp

Invalid escape sequence \N

Policy CMP0010 is not set: Bad variable reference syntax is an error. Run
"cmake --help-policy CMP0010" for policy details. Use the cmake_policy
command to set the policy and suppress this warning.
This warning is for project developers. Use -Wno-dev to suppress it.

我阅读了这个操作系统答案 cmake parse error :Invalid escape sequence \o但是如何将宏(哪个宏!)更改为函数?

环境变量的值为

MyLib_DIR=D:\New\Development\Lib

最佳答案

问题是 $ENV{MyLib_DIR} 逐字扩展了环境变量,包括用作路径分隔符的反斜杠。然后可以将这些重新解释为转义序列。

您要做的是在 CMake 代码中处理之前将路径转换为 ​​CMake 的内部格式:

file(TO_CMAKE_PATH $ENV{MyLib_DIR} MyLib_DIR)

set(MyLib_SRC ${MyLib_DIR}/MyLib.cpp)
add_library(MyLibrary STATIC ${MyLib_SRC})

关于c++ - cmake 在 Windows 上生成错误,因为它使用\as escape seq,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28070810/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com