2013-06-28 10 views
3

Linux에서 gtk2hs를 사용하여 작은 응용 프로그램을 작성했으며 훌륭하게 작동합니다. 늦게 나는 Windows (xp, 7)에서 동일한 응용 프로그램을 실행하려고했지만 성공하지는 못했습니다. 공백없이 경로에 하나 개의 번들에 windows에서 gtk2hs를 실행하지 못했습니다.

  • gtk2hs 모든 승리를 위해

    1. 하스켈 플랫폼 및
    2. 음모 설치 gtk2hs-buildtools는 자사의/bin 폴더에
    3. 음모 설치 GTK를 % 경로 %를 설정 : I 설치
    4. GHC --make -O2 Main.hs

    그리고 모든 컴파일하고 확인를 연결합니다. 그 응용 프로그램을 실행하려고하면 :

    c:\wordtrend>Main 
    (Main.exe:3228): GLib-GObject-CRITICAL **: gtype.c:2708: You forgot to call g_ty 
    pe_init() 
    (Main.exe:3228): GLib-GObject-CRITICAL **: gtype.c:2708: You forgot to call g_ty 
    pe_init() 
    (Main.exe:3228): GLib-GObject-CRITICAL **: g_type_interface_add_prerequisite: as 
    sertion `G_TYPE_IS_INTERFACE (interface_type)' failed 
    (Main.exe:3228): GLib-GObject-CRITICAL **: g_type_add_interface_static: assertio 
    n `G_TYPE_IS_INSTANTIATABLE (instance_type)' failed 
    (Main.exe:3228): GLib-GObject-CRITICAL **: gtype.c:2708: You forgot to call g_ty 
    pe_init() 
    (Main.exe:3228): GLib-GObject-CRITICAL **: g_type_add_interface_static: assertio 
    n `G_TYPE_IS_INSTANTIATABLE (instance_type)' failed 
    (Main.exe:3228): GLib-GObject-CRITICAL **: gtype.c:2708: You forgot to call g_ty 
    pe_init() 
    (Main.exe:3228): GLib-GObject-CRITICAL **: g_type_add_interface_static: assertio 
    n `G_TYPE_IS_INSTANTIATABLE (instance_type)' failed 
    (Main.exe:3228): GLib-GObject-CRITICAL **: g_object_new: assertion `G_TYPE_IS_OB 
    JECT (object_type)' failed 
    Segmentation fault/access violation in generated code 
    

    나는 어디서부터 시작 해야할지 모르겠다.

  • 답변

    0

    SOLVED : Windows에서 gtk2hs : initGUI 함수가 실행되기 전에 명령이 없어야합니다.

    아래 코드는 리눅스에서 작동하지만 Windows에서 컴파일하고 chrases :

    main :: IO() 
    main = do 
        someCommand -- this command must come after initGUI to run 
        initGUI 
        ... 
        mainGUI 
    

    그래서 initGUI 명령 전에 명령을 넣지 마십시오.

    관련 문제