我们正在使用xcode下的修改过的编译器。这大部分都有效。但是,作为修改的一部分,生成的.o文件不是标准苹果工具识别的文件,特别是libtool不喜欢它们。这样做的结果是我们看起来不能支持静态库(即.a文件)。
有人知道如何覆盖我们使用的libtool吗?更糟糕的是,我可以编写一个做正确事情的脚本。事实上,我只能看到如何替换编译器。
答案 0 :(得分:0)
FTR我现在设法这样做的唯一方法就是覆盖下面的libtool:
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
将原始文件复制到libtool.real并使用shell脚本查看过去的.o文件并找出要做的事情。我注意到的一个额外问题(影响你编写shell脚本的方式)是“ranlib”操作以递归方式调用相同的脚本,所以你需要小心,只有当参数与基本情况完全匹配时才进行修改后的操作(我直接或通过文件列表检查是否存在多个.o文件。)