You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.08 05:36:02