我有一个find_library()
与下面匹配的声明(这是基于amazon kinesis 项目):
find_library(SRTP_LIBRARIES NAMES srtp2 REQUIRED PATHS ${OPEN_SRC_INSTALL_LIB_PREFIX})
正确指向该OPEN_SRC_INSTALL_LIB_PREFIX
库所在的位置。我可以直接观察到这一点。但是,这个find_library()
电话失败了,我很困惑为什么会这样做。
我认为也许 cmake 是先搜索其他路径并忽略我指定的路径,所以我也用标志尝试了它,因为这NO_DEFAULT_PATH
应该将搜索限制在指定的路径中:
find_library(SRTP_LIBRARIES NAMES srtp2 REQUIRED PATHS ${OPEN_SRC_INSTALL_LIB_PREFIX} NO_DEFAULT_PATH)
......仍然没有运气。
任何想法为什么这不起作用?我已经通过prints验证了OPEN_SRC_INSTALL_LIB_PREFIX
它是库的有效目录。message()
请注意,这是交叉编译,尽管我不明白为什么这会改变行为,find_library()
除非我从文档中遗漏了一些东西