mac编译vst3sdk

不是永久全局生效,是"对该构建目录一次生效"。同一 -B /Users/jack/vst3sdk/build-release 下配置会被缓存;以后只需构建即可。

复制代码
/usr/local/bin/cmake -S /Users/jack/vst3sdk -B /Users/jack/vst3sdk/build \
  -DCMAKE_BUILD_TYPE=Debug -DCMAKE_EXPORT_COMPILE_COMMANDS=ON \
  -DCMAKE_OSX_ARCHITECTURES="arm64;x86_64"
cmake --build /Users/jack/vst3sdk/build -- -j"$(sysctl -n hw.logicalcpu)"

  /usr/local/bin/cmake -S /Users/jack/vst3sdk -B /Users/jack/vst3sdk/build-release \
  -DCMAKE_BUILD_TYPE=Release -DCMAKE_EXPORT_COMPILE_COMMANDS=ON \
  -DCMAKE_OSX_ARCHITECTURES="arm64;x86_64"

cmake --build /Users/jack/vst3sdk/build-release -- -j"$(sysctl -n hw.logicalcpu)"

 lipo -info /path/to/your/library.dylib 查看文件架构

LTO优化:

复制代码
/usr/local/bin/cmake -S /Users/jack/vst3sdk -B /Users/jack/vst3sdk/build-release \
  -DCMAKE_BUILD_TYPE=Release -DCMAKE_EXPORT_COMPILE_COMMANDS=ON \
  -DCMAKE_OSX_ARCHITECTURES="arm64;x86_64" \
  -DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON

要点

作用: 把各个源文件的优化延伸到链接阶段,跨文件做内联、常量折叠、去死代码,通常带来更快、更小的可执行/库。

收益: 运行时性能↑(常见为几%到十几%,视项目而定)、体积↓。

代价: 链接时间更长、内存占用更高;增量构建变慢。与某些预构建第三方库混用时优化空间有限。

通用二进制影响: 无运行时损失;只是每个架构都各自做一遍 LTO,构建更慢。

强制 ThinLTO(Apple Clang 常用,链接更快,收益接近 Full LTO):

"

Xcode 生成器也可用(CMake 打开 IPO 后会同步 Xcode 的 LTO 设置)。

相关推荐
小欣加油2 小时前
leetcode 1018 可被5整除的二进制前缀
数据结构·c++·算法·leetcode·职场和发展
_OP_CHEN4 小时前
算法基础篇:(十九)吃透 BFS!从原理到实战,解锁宽度优先搜索的核心玩法
算法·蓝桥杯·bfs·宽度优先·算法竞赛·acm/icpc
小猪咪piggy4 小时前
【算法】day 20 leetcode 贪心
算法·leetcode·职场和发展
CoderYanger6 小时前
优选算法-优先级队列(堆):75.数据流中的第K大元素
java·开发语言·算法·leetcode·职场和发展·1024程序员节
Controller-Inversion6 小时前
力扣53最大字数组和
算法·leetcode·职场和发展
测试界的海飞丝16 小时前
10道软件测试面试题及其答案:
服务器·测试工具·职场和发展
小白程序员成长日记17 小时前
2025.11.24 力扣每日一题
算法·leetcode·职场和发展
资深web全栈开发1 天前
LeetCode 1015. 可被 K 整除的最小整数 - 数学推导与鸽巢原理
算法·leetcode·职场和发展
CoderYanger1 天前
优选算法-队列+宽搜(BFS):72.二叉树的最大宽度
java·开发语言·算法·leetcode·职场和发展·宽度优先·1024程序员节