iOS开发 - 转源码 - __weak问题解决

时间:2024-03-25 18:12:35

iOS开发 - 转源码 - __weak问题解决

在使用clang转换OC为C++代码时,可能会遇到以下问题

  1. cannot create __weak reference in file using manual reference

原因

__weak弱引用是需要runtime支持的,如果我们还只是使用静态编译,是无法正常转换的

解决方案

需要支持ARC,以及需要runtime支持
因此需要增加两个参数-fobjc-arc-fobjc-runtime=ios-13.0.0

最终我们的转换命令就是:

xcrun -sdk iphoneos clang -arch arm64 -rewrite-objc -fobjc-arc -fobjc-runtime=ios-13.0.0 main.m -o main-arm64.cpp

@oubijiexi