우리는 다음과 같이 우리의 프로젝트에 대한 GCC와 미리 컴파일 된 헤더를 사용하고이를 구축되어 지금은 OSX 10.6에서 프로젝트를 빌드하고 멋진을 사용하기 위해 노력하고있어미리 컴파일 된 헤더와 OSX
gcc $(CFLAGS) precompiledcommonlib.h
gcc $(CFLAGS) -arch i386 -arch x86_64 precompiledcommonlib.h
Undefined symbols for architecture i386:
"_main", referenced from:
start in crt1.10.6.o
ld: symbol(s) not found for architecture i386
collect2: ld returned 1 exit status
Undefined symbols for architecture x86_64:
"_main", referenced from:
start in crt1.10.6.o
ld: symbol(s) not found for architecture x86_64
collect2: ld returned 1 exit status
lipo: can't open input file: /var/folders/z1/z1A0sPkqGDyPrZWo9ysVK++++TI/-Tmp-//cc3W2gwd.out (No such file or directory)
,536 :
gcc $(CFLAGS) -c -arch i386 -arch x86_64 commonlib.c
그러나, 이것은 미리 컴파일 된 헤더가 작동하지 않습니다 보인다과 같이 동시에 모든 아키텍처 구축의 특징
편집 : Mark는 XCode에 따라 지적했듯이 미리 컴파일 된 헤더는 각 아키텍처마다 별도로 작성해야하기 때문에 범용 객체를 빌드 할 때 올바른 미리 컴파일 된 헤더를 gcc에 사용하도록하는 방법이 있다면 제 질문이 있습니다.
나는 XCode처럼 각 아키텍처를 완벽하게 분리 할 수 있다는 것을 알고 있지만, 동시에 빌드하고 다른 빌드 구성을 사용하지 않아도된다는 장점이 있습니다.
, 그리고에서에게 내가 무엇을 수집 할 수 있습니다 , 당신은 하나의 PCH 파일을 생성하지 못하고 Apple의 GCC에 두 개의'-arch' 플래그를줍니다.Qt 녀석들은이 일을하기에 이상한 일을하고있는 것 같아서, 그것을 확인하고 싶을 것입니다 ... http://qt.gitorious.org/qt/qt/merge_requests/2193 – Lucas