我按照这些说明来使升级到XCode 4后,PPC与10.4 SDK能够正常工作。我可以编译,但在链接时出现错误。
此外,我并没有使用XCode本身,而是使用它附带的gcc工具链。(这是一个使用makefile的大型跨平台项目的一部分。)
下面是一个示例makefile:
此外,我并没有使用XCode本身,而是使用它附带的gcc工具链。(这是一个使用makefile的大型跨平台项目的一部分。)
下面是一个示例makefile:
CXX=g++-4.0
CXXFLAGS=-arch i386 -arch ppc -isysroot /Developer/SDKs/MacOSX10.4u.sdk -mmacosx-version-min=10.4
helloworld: helloworld.o
$(CXX) $^ -o $@ $(CXXFLAGS)
使用 helloworld.cpp 文件:
#include <stdio.h>
int main(void) {
printf("hello world \n");
return 0;
}
以下是它的输出结果:
$ make
g++-4.0 -arch i386 -arch ppc -isysroot /Developer/SDKs/MacOSX10.4u.sdk -mmacosx-version-min=10.4 -c -o helloworld.o helloworld.cpp
g++-4.0 helloworld.o -o helloworld -arch i386 -arch ppc -isysroot /Developer/SDKs/MacOSX10.4u.sdk -mmacosx-version-min=10.4
ld: in /Developer/SDKs/MacOSX10.4u.sdk/usr/lib/crt1.o, in section __TEXT,__text reloc 1: sectionForNum(4) section number not for any section for architecture ppc
collect2: ld returned 1 exit status
lipo: can't open input file: /var/folders/NK/NK2TdejFFfOupEszIr4fG++++TM/-Tmp-//ccryAbut.out (No such file or directory)
make: *** [helloworld] Error 1
顺便说一下,这个确切的makefile在XCode 3系统上运行良好。