且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

find_library选择静态库而不是共享库

更新时间:2023-02-03 12:55:25

在搜索库时迭代库名称和目录之间的确定顺序。例如,根据文档


当NAMES选项提供多个值时,默认情况下,此命令将一次考虑一个名称,并搜索每个目录。


也就是说,库位于 dir1 / name2 dir2 / name1

  find_library(MYLIB NAMES name1 name2 PATHS dir1 dir2)
message($ {MYLIB} )

将打印 dir2 / name1 。 / p>

指定 NAMES_PER_DIR 选项反转选项:

  find_library(MYLIB NAMES name1 name2 NAMES_PER_DIR PATHS dir1 dir2)
message($ {MYLIB})

将打印 dir1 / name2



尝试库的前缀和后缀时,事情是不同的:


每个库nam给予NAMES选项的e被首先考虑为库文件名,然后考虑与平台特定的前缀(例如, lib)和后缀(例如.so)。