2016-12-20 17 views
1

Ocaml을 배우고 있으며 현재 게임용 그래픽 인터페이스를 구축 중입니다. 나는 그래픽과 camlimages를 사용했지만 지금은 버튼을 추가하고 싶습니다. 그래서 저는 Gtk2를 검색했고 지금 컴파일하는 데 문제가 있습니다. 이것은 내 코드의 일부이다 :Ocaml 오류 : 컴파일 할 때 언 바운드 모듈

open Gamebase 
    open Game_imp 
    open Graphics 
    open Graphic_image 
    open Images 
    open Png 

    let _ = GMain.init() 

    let window = GWindow.window 
     ~title:"Simple lablgtk program" 
     ~width:320 
     ~height:240() 

내가 _tags 파일과 함께 컴파일하기 위해 전에

 ocambuild -use-ocamlfind main.ml 

을 사용하지만, GTK 모듈을 포함하기 위해, 나는

 ocamlfind ocamlc -g -package lablgtk2 -linkpkg main.ml -o main 
시도

샘플 예제에서 작동하는 것처럼 보였지만 내 프로젯과 결합 할 때 "오류 : 언 바운드 모듈 게임베이스"가 표시됩니다. 시도 :

 ocamlfind ocamlc -I +gamebase -g -package lablgtk2 -linkpkg main.ml -o main 

그러나 작동하지 않는 것 같습니다. 힌트와 친절한 단어는 크게 감사하겠습니다.

+0

모듈 게임베이스는 어디에 있습니까? main.ml과 같은 위치에있는 특정 ml 파일에 있습니까? –

+0

예, gamebase.ml이 같은 위치에 있습니다 – Gh0stm4chine

답변

0

간단히 : ocamlfind ocamlc -g -package lablgtk2 -linkpkg gamebase.ml main.ml -o

그냥 당신이 ml의 파일을주고있는 순서를 돌봐 주 : gamebase.ml 먼저 부여해야합니다 왜냐하면 main.ml에는 의존성이 있기 때문입니다.

+0

오류 : 오류 : 인터페이스 classbase.mli의 .cmi 파일을 찾을 수 없습니다. – Gh0stm4chine

+0

그래서 나는 먼저 다음을 사용하여 mli를 컴파일해야한다고 알았습니다. ocamlfind ocamlc -g -package lablgtk2 -linkpkg gamebase.mli main.ml -o main 하지만 오류가 발생했습니다 : 언 바운드 모듈 Graphic_image 사용하지 않으므로 Ocamlbuild 그는 _tags 파일을 확인하지 않았을까? 감사합니다. – Gh0stm4chine

+0

나는 그렇게 믿습니다. 귀하의 첫 번째 시도에 관한 : "ocamlbuild - 사용 - ocamlfind labgtk2 main.native"작동합니까? (_tags 파일을 채우지 않고). –