2009-05-15 7 views
0

미리 컴파일 된 헤더가 gcc 3.3.3에서 지원됩니까?gcc 3.3.3에서 프리 컴파일 된 헤더가 지원됩니까?

그렇다면 Linux에서 gcc 3.3.3을 사용하여 미리 컴파일 된 헤더를 생성하고 사용하는 구문은 무엇입니까? 우리는 Windows와 Linux에서 프로젝트를 크로스 컴파일합니다. Windows에서는 stdafx.h를 사전 처리 컴파일하고 Linux에서 미리 컴파일되도록 설정하는 방법을 조사하고 있습니다.

저는 the gcc doc을 알고 있습니다. 실제 해결책을 찾고 있습니다. 그것은 무슨 일이 생성 된 파일의 이름이됩니다 일 경우,

> gcc stdafx.h 
gcc: compilation of header file requested 

그리고 마지막 :

는 GCC 3.3.3에 나는이 얻을?

EDIT : 프리 컴파일 된 헤더는 gcc 3.3.3에서 지원되지 않는 것으로 보이며 최신 gcc에서는 .gch 확장자로 이름이 지정됩니다.

답변

1

gcc가 지원하는 버전을 알 수는 없지만 사용 방법은 gcc documentation입니다.

어쨌든 gcc 3.3.3도 상당히 오래된 버전입니다. 어쩌면 최근 4.X 버전으로 업그레이드 할 수있는 기회가 있습니까? 그것은 재 컴파일 된 헤더를 지원해야합니다.

혹시 최신 3.X GCC (GCC 3.4.6)를 사용해 볼 수도 있습니다. 나는 ABI 휴식 시간이 3.X에서 4.X로 가정하므로 3.4가 호환 될 수 있습니다. 나는 그것이 가치가 있을지도 모른다라고 생각한다.

http://gcc.gnu.org/gcc-3.4/changes.html에서 C/오브젝티브 C는/C++
미리 컴파일 된 헤더가 지원됩니다.

+0

우리는 gcc 4.X를 사용하고 있지만 써드 파티 라이브러리로 인해 구형 빌드를 지원해야합니다. 그래서 우리의 선택이 아닙니다. – stefanB

+1

최신 3.X GCC (GCC 3.4.6)가 여전히 타사 라이브러리와 호환되는 ABI 인 경우 GCC 3.4.6으로 이동하면 도움이됩니다. – lothar

+0

메모처럼 gcc 3.4에서 프리 컴파일 된 헤더가 지원된다는 의미입니다. 문제 없습니다, 지금 gcc 4.x에서 사용하도록하겠습니다. – stefanB

0

내가 GCC 3.3가 지원하는 경우 완전히 모르겠지만, 헤더를 사전 컴파일하는 것은 실제로 적어도 GCC 4.x의 생산 목적에서 차이가 없습니다 :

gcc $CFLAGS header.h 

그것은 새로운 미리 컴파일 된 헤더를 생성 할 수 있습니다 .h 파일 옆에 있으며 #include 인 경우 자동으로 사용합니다. d.

+0

파일을 header.h.pch 또는 header.o와 같은 형식으로 생성합니까? – stefanB

+0

on gcc 3.3.3 미리 컴파일 된 헤더가 지원되지 않는다고 의심되어서 오류가 발생했습니다. – stefanB

0

gcc 3.3.3에서 지원되는지 기억이 안납니다. 출력 파일은 {filename.ext} .gch입니다.

관련 문제