【发布时间】:2021-01-29 06:16:45
【问题描述】:
尝试编译我的应用时,SDK 本身出现错误:
<module-includes>:1:9: note: in file included from <module-includes>:1:
#import "LibcOverlayShims.h"
^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/usr/lib/swift/shims/LibcOverlayShims.h:66:10: error: use of undeclared identifier 'errno'
return errno;
^
<module-includes>:1:9: note: in file included from <module-includes>:1:
#import "LibcOverlayShims.h"
^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/usr/lib/swift/shims/LibcOverlayShims.h:70:3: error: use of undeclared identifier 'errno'
errno = value;
^
<unknown>:0: error: could not build Objective-C module 'SwiftOverlayShims'
似乎没有包含 errno.h,但我可以看到它位于该文件的第 33 行。我尝试了通常的派生数据删除、产品清理、重新安装 Xcode、重新启动。我已经尝试从应用程序中剥离部分内容以尝试查看导致它的原因,但还没有走得太远。
编辑:应用的存档似乎会触发它。在调试模式下运行非常好,然后我存档并破坏它。尝试再次从调试运行失败。对项目文件进行随机更改,然后运行git reset --hard 然后允许调试再次工作,直到我尝试存档。发布设置似乎有问题,然后会延续到后续的调试版本(即使是干净的)
【问题讨论】:
-
不是#define DEBUG 骗你的吗?
-
我的评论越过了您的编辑...可能不是 #define 鉴于您的编辑...也许您的方案需要编辑...
-
另外,请记住有一个名为 errno 的全局 C 变量,它可能只在您的 DEBUG 版本中使用,所以在这个困难的情况下,#define DEBUG 仍然是一个嫌疑犯......跨度>
-
@skaak 非常有趣,我刚刚编辑了我的方案并将存档构建配置从发布更改为调试,并且它正确构建。我想我不明白为什么它需要进行随机更改并执行 git reset 以将其恢复到编译位置。
-
我还在整个项目中搜索了
#define DEBUG,但一无所获,所以我认为这不是问题,但我不知道
标签: objective-c swift xcode macos