相关疑难解决方法(0)

CMake find_library匹配行为?

一个指定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

11
推荐指数
1
解决办法
1万
查看次数

CMAKE_FIND_LIBRARY_PREFIXES/CMAKE_FIND_LIBRARY_SUFFIXES的默认值

我想我错过了一些非常明显的东西,但在我看来,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?

有谁知道为什么/建议(用户)行为应该是什么?

platform cmake prefix defaults

4
推荐指数
2
解决办法
5112
查看次数

标签 统计

cmake ×2

defaults ×1

platform ×1

prefix ×1