2012-04-26 3 views
1

나는 GNU/Libtool에 관한 아주 기본적인 질문이있다. 내 프로젝트는 GNU/autotools에 의해 빌드되고 GNU/Libtool에 의해 빌드 된 공유 객체를 포함합니다. 나는 x86-64 시스템에서 i386 공유 객체를 컴파일하려면, 그래서 내가 할 :GNU/Libtool 크로스 컴파일

$ ./configure --build=i386 
checking for a BSD-compatible install... /usr/bin/install -c 
... 
checking whether to build shared libraries... no 
checking whether to build static libraries... yes 
... 
config.status: executing depfiles commands 
config.status: executing libtool commands 
$ 

구성 스크립트는 공유 라이브러리가 지원되지 않습니다 말해, 그리고 make 명령이 실패합니다. 이 크로스 컴파일 문제를 해결하는 방법은?

대답을 Libtool manual으로 찾아야합니까?

답변

2

--build은 일반적으로 Canadian cross 컴파일과 같은 것입니다. --host 옵션을 사용하려고합니다. 당신은 시스템 유형을 지정하지만, ./config.guess 경우 같은 것을 제공하지 않은 :

--host=i386-apple-darwin 또는 i386-pc-linux-gnu 또한


x86_64-apple-darwin 또는

x86_64-pc-linux-gnu는 그런 다음에서 지정할 것이다 - 당신이해야 할 수도 있습니다를 일부 컴파일러 플래그를 설정하여 32 비트 코드 생성을 강제 실행하십시오. 예를 들어,

env CC="gcc -m32" ./configure --host=....

종종 -m32 옵션은 충분하다 - 당신은 --host 옵션을 귀찮게 할 필요가 없습니다.

+0

32 비트 코드 생성을 강제하기 위해 컴파일러와 링커에'-m32' 플래그를 추가했습니다. –