我想我在这里遗漏了一些非常明显的东西,但在我看来,cmake 变量CMAKE_FIND_LIBRARY_PREFIXES/CMAKE_FIND_LIBRARY_SUFFIXES
没有设置为任何“体面”的默认值,具体取决于当前的系统/设置!我已经检查了 cmake 文档和谷歌,但似乎真的没有。
例如,一个简单的 CMakeLists.txt 基本上调用find_package(OpenSSL REQUIRED)
将中断,除非您在主文件中设置变量或直接调用cmake -DCMAKE_FIND_LIBRARY_PREFIXES=lib -DCMAKE_FIND_LIBRARY_SUFFIXES=.so ..
(在安装了 ubuntu w openssl/libssl-dev 的 ubuntu 上)另一方面,初始化目标的默认值 PREFIX/SUFFIX每个平台都“正确”,即使考虑 BUILD_SHARED_LIBS 等,为什么不用于 find_library?
有谁知道为什么/建议的(用户)行为应该是什么?