2013-04-11 3 views
4

디지털 화성 D 컴파일러 버전 2.0에 glfw 2.7.8을 사용하려고합니다.glfw와 D 연결

.lib 파일을 dm/lib 폴더로 복사 할 때 예제 makefile의 지침에 따라 진행했지만 성공하지 못했습니다.

예제 컴파일은 다음과 같습니다.

import std.string; 
import glfw; 
int main() 
{ 
    glfwInit(); 
    return 0; 
} 

내가 얻을 출력 내가 둘 다 윈도우 7 및 Mac OSX 10.8.2에 노력했다

main.d(2): Error: module glfw is in file 'glfw.d' which cannot be read 
import path[0] = /usr/share/dmd/src/phobos 
import path[1] = /usr/share/dmd/src/druntime/import 

,하지만 난이 :

dmd main.d 

파일의 소스입니다 성공하지 못했습니다. glfw.d를 lib로 컴파일 한 다음 메인 디렉토리에 드롭해야합니까?

주 디렉토리에 .lib를 놓고 glfw.lib에 링크하는 -L 컴파일러 플래그를 사용하려고하면 _symbol을 찾을 수 없습니다.

모든 예제 또는 도움을 주시면 감사하겠습니다. 이 main.d.과 같은 디렉토리에있는 가정

dmd main.d glfw.d 

:

+0

가져 오기 디렉토리에 일부 d 또는 di 파일이 필요합니다 (-I 스위치 IIRC로 지정) –

답변

0

당신은 컴파일러에 glfw.d를 전달해야 링커가 DLL에 노출 된 사람에게 제대로 기호를 매핑 할 수 있도록

2

당신은 -L 스위치와 함께 당신은 또한합니다 (DEF 파일)을 lib 폴더를 추가 할 수 있습니다

컴파일러 지시어에 -Ipath/to/glfw-x.x.x/support/d/imports를 추가해야