我正在使用 add_library 在 CMAKE 中导入静态库. lib 导入正常。但我也想验证这一点。所以我这样做:
add_library(MYLIB STATIC IMPORTED)
set_target_properties(MYLIB PROPERTIES IMPORTED_LOCATION path/to/mylib.a)
#if(NOT MYLIB)
# message(FATAL_ERROR "MYLIB library not found")
#endif()
它总是返回 false,即使路径正确并且 lib 导入正常。我如何检查 lib 是否已导入?
使用 Cmake 3.4.1
最佳答案
命令 add_library()
创建一个目标,而不是变量。
可以使用TARGET关键字检查目标是否存在:
add_library(MYLIB STATIC IMPORTED)
#...
if(NOT TARGET MYLIB)
# Target is not exist
endif()
请注意,库目标 的存在并不意味着库文件 的存在。文件的存在应该使用EXISTS关键字:
if(EXISTS <path>)
关于android-ndk - CMake: "add_library IMPORTED"检查库是否存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44737395/