2012-05-15 41 views
1

我正嘗試在Lion上根據包含的installation instructions生成Derelict2。當我運行命令make -fmac.mak DC=dmd以下庫建立精細:Mac OS X 10.7上的Derelict2:SDL未能生成

  • DerelictAllegro
  • DerelictFMOD
  • DerelictFT
  • DerelictGL
  • DerelictIL
  • DerelictODE
  • DerelictOgg
  • DerelictPA

不幸的是,一旦腳本起牀DerelictSDL它吐出來的是以下幾點:

make -C DerelictSDL all PLATFORM=mac 
dmd -release -O -inline -I../DerelictUtil -c derelict/sdl/sdl.d derelict/sdl/sdlfuncs.d derelict/sdl/sdltypes.d -Hd../import/derelict/sdl 
dmd -release -O -inline -I../DerelictUtil -c derelict/sdl/macinit/CoreFoundation.d derelict/sdl/macinit/DerelictSDLMacLoader.d derelict/sdl/macinit/ID.d derelict/sdl/macinit/MacTypes.d derelict/sdl/macinit/NSApplication.d derelict/sdl/macinit/NSArray.d derelict/sdl/macinit/NSAutoreleasePool.d derelict/sdl/macinit/NSDictionary.d derelict/sdl/macinit/NSEnumerator.d derelict/sdl/macinit/NSEvent.d derelict/sdl/macinit/NSGeometry.d derelict/sdl/macinit/NSMenu.d derelict/sdl/macinit/NSMenuItem.d derelict/sdl/macinit/NSNotification.d derelict/sdl/macinit/NSObject.d derelict/sdl/macinit/NSProcessInfo.d derelict/sdl/macinit/NSString.d derelict/sdl/macinit/NSZone.d derelict/sdl/macinit/runtime.d derelict/sdl/macinit/SDLMain.d derelict/sdl/macinit/selectors.d derelict/sdl/macinit/string.d  -Hd../import/derelict/sdl/macinit 
derelict/sdl/macinit/NSString.d(134): Error: cannot implicitly convert expression (this.length()) of type ulong to uint 
derelict/sdl/macinit/NSString.d(135): Error: cannot implicitly convert expression (str.length()) of type ulong to uint 
derelict/sdl/macinit/NSString.d(140): Error: cannot implicitly convert expression (cast(ulong)(selfLen + aStringLen) - aRange.length) of type ulong to uint 
make[1]: *** [dmd_mac_build_sdl] Error 1 
make: *** [DerelictSDL_ALL] Error 2 

回答

1

廢棄的最新版本是Derelict3, which is on GitHub

至於你的錯誤,它看起來像你正在編譯的64位,這顯然沒有考慮在Derelict2中。

你只需要修復源代碼。這樣做的正確方法是將這些實例更改爲使用size_t而不是uint,但直到錯誤消失爲止,這可能更容易到cast(size_t)這些表達式:-)長度不可能超過40億,所以你應該沒問題,直到你切換到Derelict3。

+0

乾杯隊友,我會盡力的! – bjz

0

嘗試在32位模式下編譯。我相信這是dmd和gdc/gdmd的-m32選項