我对一个非常简单的例子感到困惑.我有一个标准列表,所以基本上它的字符串表示使用分号作为分隔符.我想用另一个替换它:
set(L1 "A" "B" "C")
message("L1: ${L1}")
string(REPLACE ";" "<->" L2 ${L1})
message("L2: ${L2}")
Run Code Online (Sandbox Code Playgroud)
这个片段打印:
L1: A;B;C
L2: ABC
Run Code Online (Sandbox Code Playgroud)
而且我不明白为什么.根据其他一些SO答案,我的字符串替换似乎有效.我究竟做错了什么 ?有没有办法将值存储A<->B<->C
在我的第二个变量中?
注意:我使用CMake 3.7.2
Flo*_*ian 12
只需加上${L1}
引号:
set(L1 "A" "B" "C")
message("L1: ${L1}")
string(REPLACE ";" "<->" L2 "${L1}")
message("L2: ${L2}")
Run Code Online (Sandbox Code Playgroud)
否则,列表将再次扩展为空格分隔的参数列表.
参考