一个指定find_library(名称PATHS path1..pathn)
我的问题是find_library如何匹配库文件的名称(在Windows和Linux上)?
例如,我无法让find_library在提供的GraphicsMagicK的Windows二进制安装中识别MagicK和MagicK ++ dll文件:
文件是:CORE_RL_magick_.dll
搜索查询:
magick CORE_RL_magick
不起作用.
我想我错过了一些非常明显的东西,但在我看来,cmake变量CMAKE_FIND_LIBRARY_PREFIXES/CMAKE_FIND_LIBRARY_SUFFIXES没有设置为任何"体面"的默认值,具体取决于当前的系统/设置!我已经检查了cmake docs和谷歌,但它似乎没有任何关于它.
例如,find_package(OpenSSL REQUIRED)除非你在主文件中设置变量或直接调用cmake -DCMAKE_FIND_LIBRARY_PREFIXES=lib -DCMAKE_FIND_LIBRARY_SUFFIXES=.so ..(在ubuntu w openssl/libssl-dev上安装),否则基本上调用的简单CMakeLists.txt 将会中断,目标的默认值PREFIX/SUFFIX被初始化"正确"为每个平台,甚至考虑BUILD_SHARED_LIBS等为什么不为find_library?
有谁知道为什么/建议(用户)行为应该是什么?