2012-04-24 3 views
1

나는 현재 i386 (amd64 Ubuntu 11.10을 실행 중입니다) 만 지원하는 프로그램의 확장 프로그램을 프로그래밍하고 있습니다. 내 확장 소스를 컴파일 할 때마다 32 비트 아키텍처를 강제하려면 -m32 플래그를 사용해야합니다. 그렇지 않으면 프로그램에서 내 확장 프로그램을로드 할 수 없습니다. 조만간 부스트를 피하는 것이 필연적입니다. 거대한 안정적인 라이브러리 덕분에 덕분에 제 문제가 생깁니다.AMD64에서 i386으로 부스트 컴파일

OS 특정 함수 호출을 사용하는 부스트 파일 시스템을 사용하고 싶습니다. 그러면 헤더 구현 대신 라이브러리 파일이 필요합니다. 문제는; 나/내 amd64 컴퓨터에서 부스트 파일 시스템 (i386 버전)을 설치하는 방법을 모르겠어요. i386 용으로 미리 빌드 된 (.deb) 패키지를 다운로드하고 -force-architecture를 사용하여 설치하면 여전히 의존성에 대해 불만을 표시합니다.

기본적으로; 내 (amd64) 시스템에서 32 비트 (i386) 아키텍처로 어떻게 설정합니까?

+0

그래, 나는 그것을 고려했지만 가능하면 오버 헤드가 적고 가능하면 내 현재 운영 체제에 충실하고자합니다. 이것이 유일한 옵션 인 경우 부스트를 피할 수 있습니다. –

+1

다음을보십시오 : [어떻게 강제로 gcc로 32 비트 빌드를 강화합니까?] (http://stackoverflow.com/questions/1357742/how-do-i-force-a-32-bit-build -of-boost-with-gcc) –

답변

1

마치 내가 한 것처럼 보이지만 GCC 링커와 라이브러리를 올바르게 연결하는 방법을 깨닫기에는 너무 바보 같아서 Windows 환경에서 왔습니다. -m32 플래그를 사용하고 bjam을 올바르게 설정하여 부스트 라이브러리를 쉽게 컴파일 할 수 있습니다. 자세한 내용은이 질문의 첫 번째 대답을 참조하십시오. How do I force a 32 bit build of boost with gcc?

관련 문제