gpt4 book ai didi

cmake - 如何测试CMake是否使用find_library找到了一个库

转载 作者:行者123 更新时间:2023-12-03 10:55:16 26 4
gpt4 key购买 nike

我找到了带有find_library函数的库

find_library(MY_LIB lib PATHS ${MY_PATH})
如果找到了库, ${MY_LIB}将指向正确的位置。
如果找不到该库, ${MY_LIB}将为 MY_LIB-NOTFOUND
但是我该如何测试?
if(${MY_LIB} EQUAL 'MY_LIB-NOTFOUND') 
...
endif()
总是评估为false。

最佳答案

您可以像这样简单地测试变量,例如:

find_library(LUA_LIB lua)
if(NOT LUA_LIB)
message(FATAL_ERROR "lua library not found")
endif()

输出示例:
CMake Error at CMakeLists.txt:99 (message):
lua library not found


-- Configuring incomplete, errors occurred!

请注意,我们使用
if(NOT LUA_LIB)

并不是
if(NOT ${LUA_LIB})

由于 different semantics

使用 ${},在评估 LUA_LIB之前将变量 if()替换。如
评估的一部分内容将被解释为变量名,
除非它与常量的定义匹配。这不是我们想要的。

关于cmake - 如何测试CMake是否使用find_library找到了一个库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29657195/

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