ld:警告:忽略重复库:Xcodebuild工具最近更新后的'-lgcc'

yhived7q  于 2023-10-19  发布在  其他
关注(0)|答案(3)|浏览(816)

最近,我升级到了Xcode 15,并更新了xcodebuild工具。然而,突然之间,我的独立C应用程序由于某种原因无法使用g-13编译器?任何人都知道什么可能工作,我不想降级到Xcode 14。

dfddblmv

dfddblmv1#

从苹果内部员工看来,这是Homebrew的错,你要么等Homebrew来修复,要么尝试其他方式安装GNU工具。

62lalag4

62lalag42#

Homebrew团队回应了GitHub问题ld:警告:忽略重复的库:'-lemutls_w','-lgcc' #4794 on Sep 19,2023,with:
是的,这是当前gcc与Xcode 15和/或CLT 15的不兼容性。警告不成问题,今后我们会出货固定版本”
一位评论者在SO上问道:
忽视警告是否安全?(来自评论者)
是的。为了摆脱这些警告,我建议为gcc添加以下链接器标志:

-Wl,-ld_classic

ld_classic是Mach对象文件链接编辑器。
ld_classic命令将多个Mach-O(Mach对象)文件合并为一个文件,方法是将所有对象文件中的相似部分合并为相似段,解析外部引用,并搜索库。在最简单的情况下,给出了几个目标文件,ld_classic将它们组合起来,产生一个目标文件,该文件可以被执行或成为进一步ld_classic运行的输入。(在后一种情况下,必须给出-r选项以保留重定位信息。)除非指定输出文件,否则ld_classic将生成一个名为a. out的文件。只有在链接编辑过程中没有发生错误并且没有未定义的符号时,此文件才可执行。
(摘自man page

kmpatx3s

kmpatx3s3#

我也开始收到这些警告

Ignoring duplicate libraries: '-lc++', '-lsqlite3', '-lz'

我忽略了他们,并推动了生产发布。现在,该应用程序在iOS 12(我的最低版本)启动时崩溃。我在Firebase日志或Organizer下什么也没有得到,不幸的是,无法在XCode 15中运行IOS 12模拟器,并且不再有那么旧的测试设备。
在我看来,这些警告是有效的,应该引起关注。
其他人有过这种经历吗?
我在索诺马上,XCode 15

相关问题