Dev*_*gam 23 c++ xcode gcc g++ xcodebuild
最近,我升级到了 Xcode 15,并更新了 xcodebuild 工具。然而,突然之间,我的独立 C++ 应用程序由于某种原因无法使用 g++-13 编译器?任何人都知道什么可能有效,我不想降级到 Xcode 14。
小智 18
从苹果内部员工看来,这是Homebrew的错,你要么等待Homebrew修复,要么尝试其他方式安装GNU工具。
Mic*_*oll 11
2023-11-05 更新:部分用户在忽略此警告后报告了问题,请参阅下面 danny 的回答。
Homebrew 团队于 2023 年 9 月 19 日回复了 GitHub 问题ld: warning: ignoring duplicated Library: '-lemutls_w', '-lgcc' #4794,其中:
“是的,这是当前 gcc 与 Xcode 15 和/或 CLT 15 的不兼容性。警告不是问题,我们将来会发布修复版本。”
一位评论者在这里问SO:
忽略这些警告是否安全?(来自评论者)
是的。为了摆脱警告,对我有用的是建议为 gcc 添加以下链接器标志:
-Wl,-ld_classic
Run Code Online (Sandbox Code Playgroud)
ld_classic是旧的 Mach 目标文件链接编辑器。
ld_classic 命令通过将所有对象文件中的相似部分组合成相似段、解析外部引用并搜索库,将多个 Mach-O(Mach 对象)文件合并为一个文件。在最简单的情况下,给出多个目标文件,ld_classic 将它们组合起来,生成一个目标文件,该目标文件可以被执行或成为进一步 ld_classic 运行的输入。(在后一种情况下,必须给出 -r 选项以保留重定位信息。)除非指定输出文件,否则 ld_classic 会生成名为 a.out 的文件。仅当链接编辑期间未发生错误并且不存在未定义的符号时,此文件才可执行。
(摘自手册页)