我是Cmake的新手并尝试构建一个需要可选包(libspectre)的KDE项目(okular)。我做了一个默认的make install,库文件位于“/ usr / lib / x86_64-linux-gnu”。
在generators / CMakeLists.txt中,我尝试用以下内容替换“macro_optional_find_package(LibSpectre)”:
find_library(LIBSPECTRE_LIBRARY NAMES libspectre PATHS "/usr/lib/x86_64-linux-gnu/")
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(LibSpectre DEFAULT_MSG LIBSPECTRE_LIBRARY)
似乎找不到libspectre库。我尝试用HINTS替换PATHS,并在NAMES之后将'libspectre'改为'幽灵'。但它似乎没有认识到。
感谢任何帮助!
答案 0 :(得分:1)
CMake不了解库的 so-version ,它仅检查预先.so
扩展名。
您可以创建libspectre.so
- 符号链接到libspectre.so.1
。所以
find_library(LIBSPECTRE_LIBRARY NAMES spectre PATHS "/usr/lib/x86_64-linux-gnu/")
会奏效。