2

我们正在使用 xcode 下的修改后的编译器。大多数情况下这是有效的。但是,作为修改的一部分,生成的 .o 文件不是标准苹果工具识别的文件,特别是 libtool 不喜欢它们。这样做的效果是我们似乎无法支持静态库(即 .a 文件)。

有人知道如何覆盖我们使用的 libtool 吗?更糟糕的情况是我可以编写一个做正确事情的脚本。事实上,我只能看到如何替换编译器。

4

1 回答 1

0

FTR 我现在设法这样做的唯一方法是在以下位置覆盖 libtool:

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin

将原始文件复制到 libtool.real 并使用一个 shell 脚本查看过去的 .o 文件并确定要做什么。我注意到的一个额外问题(影响您编写 shell 脚本的方式)是“ranlib”操作递归调用相同的脚本,因此您需要小心,只有在参数与基本情况完全匹配时才执行修改后的操作(我直接或通过文件列表检查是否存在多个 .o 文件)。

于 2013-07-15T10:16:19.190 回答