Archive for March, 2011
오브젝트 파일의 CPU 아키텍쳐 확인하기
오픈소스 라이브러리를 빌드에서 XCode에서 링크하려고 하면 아키텍쳐가 맞지 않는다고 에러가 날 때가 있다. 아래와 같이 하면 .a 파일 안의 .o 파일들이 어떤 CPU 아키텍쳐를 대상으로 빌드되었는지 확인할 수 있다.
otool -hv libxxxx.a
분명히 잘 빌드한 것 같은데 링크가 안되서 봤더니 x86_64라고 나온다. 강제로 -arch i386 을 넣고 빌드하니 시뮬레이터용으로 링크가 잘 된다.
참고로, 위에서 v 옵션을 빼면 cputype과 cpusubtype이 숫자로 나오는데, /usr/include/mach/machine.h 를 보면 그 숫자들의 의미를 확인할 수 있다. (그냥 v 옵션 넣고 쓰면 됨…)