gpt4 book ai didi

cmake - CMAKE字符串比较失败

转载 作者:行者123 更新时间:2023-12-01 23:05:02 26 4
gpt4 key购买 nike

我想有选择地在我的CMakeLists文件中添加一些库路径,并且要实现的方法是将变量设置为:

set(MYLIBDIR "DEFAULT")

如果用户要指定自定义目录,则将其更改为:
set(MYLIBDIR /path/to/dir1
/path/to/dir2)

因此,为了检查用户是否确实提供了额外的目录,我检查了:
if(NOT ${MYLIBDIR} STREQUAL "DEFAULT")
link_directories(${MYLIBDIR})
endif()

当我尝试执行此操作时,我从cmake中得到一个错误。
有没有办法在字符串比较之前连接变量的所有元素?

最佳答案

把我的评论变成答案

连接列表仅需在变量引用周围加上引号即可:

if(NOT "${MYLIBDIR}" STREQUAL "DEFAULT")

将与
if(NOT "/path/to/dir1;/path/to/dir2" STREQUAL "DEFAULT")

但是我建议
if(NOT MYLIBDIR STREQUAL "DEFAULT")

有关更多详细信息,请参见
  • cmake: when to quote variables?
  • 关于cmake - CMAKE字符串比较失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36087987/

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