gpt4 book ai didi

if-statement - CMake错误 "if given arguments"后跟括号, "NOT", "EQUALS"等

转载 作者:行者123 更新时间:2023-12-03 10:24:46 28 4
gpt4 key购买 nike

CMake从以下行发出错误

if(NOT ($ENV{TnCfg} STREQUAL Linux_Build_Speech))

错误是

CMake Error at CMakeLists.txt:37 (if):

    if given arguments:

"NOT" "(" "STREQUAL" "Linux_Build_Speech" ")"

Unknown arguments specified



有什么问题?该行是有效代码。

最佳答案

可能您尝试检查一个空变量。问题是$ENV{TnCfg},因为它为空。 CMake将变量名称的值替换为它们的值,从而导致

if (NOT (STREQUAL Linux_Build_Speech))

那是无效的,并且CMake想要在 STREQUAL左边保留一个参数。

将引号放在变量周围
if(NOT ("$ENV{TnCfg}" STREQUAL Linux_Build_Speech))

解决了问题,因为它被替换为“”,导致
if(NOT ("" STREQUAL Linux_Build_Speech))

空字符串是有效的参数。

关于if-statement - CMake错误 "if given arguments"后跟括号, "NOT", "EQUALS"等,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39707772/

28 4 0
文章推荐: Xcode 4.2 Organizer - 文档异常缓慢
文章推荐: wpf - WPF MVVM Threadsafe从ViewModel获取List 的方法