문제

64 비트 머신에서 DMD로 프로그램을 컴파일하는 가장 좋은 방법은 무엇입니까? 64 비트 코드로 컴파일 할 필요가 없습니다. GDC에 대해 알고 있지만 D2 와도 작업하고 싶습니다. Chroot도 있지만 더 간단한 방법을 기대하고 있습니다.

실제 문제는 컴파일이 아니라 링크에 포함됩니다. DMD는 GCC를 통해 시스템 라이브러리와 연결을 수행합니다. DMD가 32 비트 라이브러리에 대해 GCC 링크를 갖도록 할 수 있습니까? 아니면 어떻게 수동으로할까요?

이미 IA32 라이브러리가 설치되어있어 DMD를 실행할 수 있습니다.

도움이 되었습니까?

해결책

GCC에게 32 비트 링크를 전달하여 수행하도록 요청하십시오 '-m32' 깃발.

그것은 보인다 DMD 호출하지 않습니다 gcc 링크를 수행하지만 오히려 호출합니다 ld 곧장. 동등한 ld 스위치입니다 '-melf_i386', 그리고 분명히 만드는 방법 DMD 해당 옵션을 링커로 전달하십시오 '-L-melf_i386' 깃발.

많은 시스템은 런타임과 개발 라이브러리를 별도로 분리합니다. 32 비트 런타임 패키지는 거의 항상 기본적으로 설치되지만 32 비트 개발 패키지는 아닐 수 있습니다.

당신은 필요합니다 개발 32 비트 프로그램을 구축하기위한 32 비트 패키지. 32 비트 DMD 실행할 수있는 것은 그 자체로 32 비트 프로그램을 구축하기 위해 필요한 32 비트 라이브러리를 모두 가지고 있음을 증명하지 않습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top