0

我在使用 cd 命令和 cmake 时遇到了一个奇怪的问题。

  • cd 命令不适用于其中包含“-”减号的路径。(除非标签扩展使用它是不可取的,因为路径将由 ENV 变量提供)

  • cmake问题

export $SOME_VAR=Some_value_for_this_variable

现在在cmake中使用它作为
set (SOME_OTHER_VAR "$ENV{SOME_VAR}/SUFFIX")

上面应该给出输出,SOME_OTHER_VAR=Some_value_for_this_variable/SUFFIX但它是从开始替换 env 变量,并将输出SOME_OTHER_VAR=SUFFIXalue_for_this_variable表示为 Some_v 从以 SUFFIX 开始替换,这是不期望的。

请帮忙,因为我不明白发生了什么。

4

1 回答 1

0

您遇到某种字符集问题。有两个不同的减号。连字符 - (ASCII 45, U+002D) 和实数减号 - (U+2212)。文件名本身可能带有非 ASCII 减号,您无法用键盘轻松输入。最简单的解决方法是将文件重命名为正常的连字符。否则,您必须说服 CMake 理解您的 Unicode 文件名。我不知道这是容易还是难。

我认为你的第二个问题是相似的。环境变量中可能包含一个或多个非打印字符,弄乱了 CMake 变量,或者至少弄乱了显示。试试这个:在 Linux 命令提示符下,检查字符串的实际内容。

echo $SOME_VAR | od -t c

用于所有内容的 ASCII 表示,和/或

echo $SOME_VAR | od -t d1

对于字节内容

于 2013-10-01T16:01:10.787 回答