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 设置)。

相关推荐
牛客企业服务24 分钟前
AI面试选型策略:9大维度避坑指南
人工智能·面试·职场和发展
转战英雄枫4 小时前
Mac上打开安卓虚拟机BlueStacks Air闪退问题解决
macos·bluestacks
a程序小傲4 小时前
京东Java面试被问:Fork/Join框架的使用场景
java·开发语言·后端·postgresql·面试·职场和发展
华清远见成都中心4 小时前
嵌入式工程师技术面试有哪些注意事项?
面试·职场和发展
沐雪架构师4 小时前
大模型Agent面试精选15题(第三辑)LangChain框架与Agent开发的高频面试题
面试·职场和发展
YoungHong19926 小时前
面试经典150题[074]:填充每个节点的下一个右侧节点指针 II(LeetCode 117)
leetcode·面试·职场和发展
元亓亓亓6 小时前
LeetCode热题100--763. 划分字母区间--中等
算法·leetcode·职场和发展
LYFlied6 小时前
【每日算法】LeetCode 70. 爬楼梯:从递归到动态规划的思维演进
算法·leetcode·面试·职场和发展·动态规划
YoungHong19926 小时前
面试经典150题[073]:从中序与后序遍历序列构造二叉树(LeetCode 106)
leetcode·面试·职场和发展
业精于勤的牙6 小时前
浅谈:算法中的斐波那契数(五)
算法·leetcode·职场和发展