如何在CMake项目中配置Skia头文件导入与libskia.a链接
配置方案
你只需要在现有CMakeLists.txt的add_executable语句后追加3部分配置即可,修改后的完整内容如下:
cmake_minimum_required(VERSION 3.5) project(project LANGUAGES CXX) set(CMAKE_CXX_STANDARD 11) set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}") set(CMAKE_LIBRARY_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}") set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}") add_executable(project src/main.cpp) # 新增配置开始 # 1. 添加头文件搜索根目录,支持#include <skia/子目录/头文件.h>形式引入 target_include_directories(project PRIVATE ${PROJECT_SOURCE_DIR}/ext) # 2. 添加静态库搜索目录,让CMake可以定位到ext路径下的libskia.a target_link_directories(project PRIVATE ${PROJECT_SOURCE_DIR}/ext) # 3. 链接skia静态库及依赖的系统库(可根据你的运行平台调整依赖库部分) # 以下为Linux平台通用依赖,Windows/macOS可对应替换为对应系统的依赖库 target_link_libraries(project PRIVATE skia pthread GL dl z ) # 新增配置结束
配置说明
- 头文件包含逻辑:要使用
<skia/subdirectory/headerfile.h>形式引入头文件,需要把skia文件夹的上层目录(也就是ext)加入头文件搜索路径,CMake会自动在该目录下匹配skia/xxx的引入路径。 - 静态库链接逻辑:
target_link_directories指定了静态库的搜索位置,target_link_libraries中的skia会自动匹配搜索路径下的libskia.a静态库文件。 - 依赖库说明:如果你的Skia编译时开启了额外功能(比如字体渲染、多格式图片解码),可根据实际编译选项追加对应的依赖库(比如freetype、png、jpeg等)。
内容的提问来源于stack exchange,提问作者pixforge
相关产品推荐
相关产品推荐

