2011-03-19 3 views
2

저는 64 비트 우분투에서 실행 중이며, Code :: Blocks로 작업 할 DMD v2.052를 얻으려고합니다. 문제는 Code :: Blocks가 두 가지 별도의 단계로 컴파일 및 연결을 수행한다는 것입니다. 내 컴파일러 플래그 (이 프로젝트의 경우)는 -m64이고 링커 플래그는 모두 dmd.conf에서 제공되는 플래그입니다. 나는이 작업을 수행 할 때 그러나, 나는 내가 dmd -m64 -lib [library source code files]를 사용하여 DSFML libs와 나 자신을 컴파일두 단계로 나누어 DMD 사용하기 : 64 비트 링크하기 (리눅스)


Linking console executable: bin/Debug/Gossamer 
/usr/bin/ld: skipping incompatible /home/me/devl/sfml2/bindings/d/lib/libdsfml-system.a when searching for -ldsfml-system 
/usr/bin/ld: cannot find -ldsfml-system 
/usr/bin/ld: skipping incompatible /home/me/devl/sfml2/bindings/d/lib/libdsfml-graphics.a when searching for -ldsfml-graphics 
/usr/bin/ld: cannot find -ldsfml-graphics 
/usr/bin/ld: skipping incompatible /home/me/devl/sfml2/bindings/d/lib/libdsfml-audio.a when searching for -ldsfml-audio 
/usr/bin/ld: cannot find -ldsfml-audio 
/usr/bin/ld: skipping incompatible /home/me/devl/sfml2/bindings/d/lib/libdsfml-window.a when searching for -ldsfml-window 
/usr/bin/ld: cannot find -ldsfml-window 
collect2: ld returned 1 exit status 

같은 오류를 얻고, 거기는 두 단계에 있지, 그래서 나는 그들이 좋은 거 알아. 웬일인지, 그들을 좋아하지 않는 것 같습니다. 누군가 도울 수 있습니까?

+0

테스트 응용 프로그램을 수동으로 컴파일하면 해당 라이브러리가 작동합니까? – Trass3r

+0

나는 도서관에서 아무 것도 할 수 없었습니다. – bfops

답변

2

DMD 만 사용하여 명령 줄에서 컴파일을 시도하십시오. 그게 작동한다면 나는 DMD가 링크 명령에 대한 명령 줄을 인쇄하게하는 플래그가 있다고 생각합니다. 그것으로부터 당신은 Code :: Blocks이 다르게 할 필요가있는 것을 말할 수 있어야합니다.

+0

예; 몇 가지 중요한 링커 플래그 (가장 중요하게 -m elf_x86_64)가 누락되었습니다. – bfops

관련 문제