CMake链接aalib库失败求助:已安装库但find_package报错
解决CMake链接aalib失败的问题
aalib属于比较老旧的库,没有提供CMake官方支持的配置文件(比如aa_libConfig.cmake),所以直接用find_package(aa_lib REQUIRED)会找不到。换用手动查找头文件和库文件的方式即可解决,修改后的CMakeLists.txt如下:
cmake_minimum_required(VERSION 3.25) project(untitled1) set(CMAKE_CXX_STANDARD 17) add_executable(untitled1 main.cpp) # 查找aalib的头文件目录 find_path(AA_INCLUDE_DIR aa.h) # 查找aalib的库文件 find_library(AA_LIBRARY aa) # 将头文件目录添加到可执行程序的包含路径 target_include_directories(untitled1 PRIVATE ${AA_INCLUDE_DIR}) # 将aalib库链接到可执行程序 target_link_libraries(untitled1 PRIVATE ${AA_LIBRARY})
关键说明
find_path会自动搜索系统标准路径(比如/usr/include)找到aa.h所在的目录,赋值给AA_INCLUDE_DIRfind_library会搜索系统标准库路径(比如/usr/lib)找到aalib的库文件(通常是libaa.so),赋值给AA_LIBRARYtarget_include_directories和target_link_libraries是CMake推荐的目标级操作,比全局的link_libraries更清晰可靠
内容的提问来源于stack exchange,提问作者ceayo
相关产品推荐
相关产品推荐

