2013-04-15 3 views
0

내 Mac OS X (v10.8.3)에서 libconfig을 64 비트로 빌드하고 설치하고 싶습니다. 터미널에서 사용할 수있는 명령은 무엇입니까? 과 sudo make install을 단순히 사용하면 라이브러리는 32 비트로 설치됩니다.Mac OS X에서 libconfig 64bit 빌드

그렇지 않으면 ... 설치 프로세스 후 라이브러리에서 올바르게 라이브러리를 제거 할 수 있습니까 (라이브러리가 /usr/local/ 경로에 있음)?

친절함에 대해.

+1

프로젝트 디렉토리에서'make uninstall '을 할 수 있습니다. 32 비트 버전에서 같은 문제가 발생했습니다. 이것은 (언뜻보기와 googleing에서)'uname -p'의 출력과 관련이 있습니다. 이것은 i386입니다. 왜 슬프게도 나는 모른다. –

답변

2

당신은 아마 제대로 구조를 설정하려면 configure 명령 행에 CFLAGS='-arch x86_64' 전달해야합니다

./configure CFLAGS='-arch x86_64' 

업데이트 :

구성, 시스템을 감지하는 방법을 변경하지 않습니다를 CFLAGS을 단지 추가 전달되는 내용이 gcc으로 변경됩니다.

$ ./configure --build=x86_64-apple-darwin10.8.0 
checking build system type... x86_64-apple-darwin10.8.0 
checking host system type... x86_64-apple-darwin10.8.0 
checking target system type... x86_64-apple-darwin10.8.0 
... 

생성 된 라이브러리는 다음과 같습니다 당신이 정말로 configure 출력이 정확하려면

$ file lib/.libs/libconfig.*.dylib 
lib/.libs/libconfig.9.dylib: Mach-O 64-bit dynamically linked shared library x86_64 

것은, 당신이 --build 매개 변수에 전달해야하지만 64 비트 실행 파일로 만들 것이다 또한 64 비트 :

$ file lib/.libs/libconfig.*.dylib 
lib/.libs/libconfig.9.dylib: Mach-O 64-bit dynamically linked shared library x86_64 

틀림는 --build 옵션을 사용하여 여기에 더 나은 선택입니다. 그러나 Mac OS X의 gcc는 "뚱뚱한"바이너리를 빌드 할 수 있기 때문에 i386 및 x86_64 모두를 빌드 할 수 있기 때문에 빌드하려는 머신에 대해 약간 흐리게 표시됩니다.

+0

유감스럽게도 이것은 C 또는 CXX에 아치 플래그를 전달하는 것이'configure' 호출의 감지에 영향을 미치지 않으므로 도움이되지 않았습니다. 스핏 아웃 구성 :'빌드 시스템 유형 검사 중 ... i386-apple-darwin12.4.0 호스트 시스템 유형 확인 ... i386-apple-darwin12.4.0 대상 시스템 유형 확인 중 ... i386-apple-darwin12.4.0' –

+0

@MarioMueller'CFLAGS'를 변경해도 configure가 시스템을 인식하는 방법은 변경되지 않습니다. 구성의 탐지가 정확하도록하려면 자세한 정보 및 다른 방법으로 내 대답을 업데이트하십시오. – jszakmeister