Skia最新版CMake编译

运行示例:example/HelloWorld.cpp

Skia:

2024年03月08日

master分支: 993a88a663c817fce23d47394b574e19d9991f2f

使用CMake编译

复制代码
python tools/git-sync-deps

bin/gn gen out/config --ide=json --json-ide-script=../../gn/gn_to_cmake.py

此时output目录会生成CMakeLists.txt

可能的报错

  • macOS可能缺少libuuid
    报错:

    #define JIB_RESERVED_SIZE ((32*sizeof(u_int32_t)) - sizeof(uuid_string_t) - 48)

    struct JournalInfoBlock {
    u_int32_t flags;
    u_int32_t device_signature[8]; // signature used to locate our device.
    u_int64_t offset; // byte offset to the journal on the device
    u_int64_t size; // size in bytes of the journal
    uuid_string_t ext_jnl_uuid;
    char machine_serial_num[48];
    char reserved[JIB_RESERVED_SIZE];
    } attribute((aligned(2), packed));
    typedef struct JournalInfoBlock JournalInfoBlock;

解决:

复制代码
brew install libuuid

编译和运行示例

复制代码
cd skia
mkdir -p out/config/build
cd out/config/build

cmake ..
make HelloWorld -j32
./HelloWorld

即可得到文章开头的截图。

相关推荐
用户76241175670534 分钟前
第四章 流程控制结构
c++
会编程的小孩1 小时前
Qt学习路线大纲图
c++
洁洁!2 小时前
手搓 C++ 线程池详细讲解以及如何面试应答
java·c++·面试
坤坤子吖2 小时前
C++继承:继承的基本用法与访问规则
开发语言·c++·笔记·学习
Demon--hx2 小时前
C++ 文件流:理解 ifstream/ofstream 与 RAII 机制
开发语言·c++
纪念 2292 小时前
C++ stack和queue
开发语言·c++
CodeYp20192 小时前
第6讲:模板初阶
开发语言·c++·模板
.YM.Z2 小时前
【C++11】初识——右值引用和移动语义,可变参数模板
c++·c++11
要练八块腹肌3 小时前
红黑树的实现以及对map和set的封装
c++
骑着蜗牛撵大象3273 小时前
从三次握手到 epoll:C++ 写出可落地的 TCP Socket 服务端
网络·c++·tcp/ip·高并发·tcp·epoll