我正在研究一些使用OpenGL和SDL的跨平臺代碼,但立即遇到了Mac OSX上的問題。OSX上的SDL + OpenGL:NSAutoreleaseNoPool()
以供參考,在這裏是在GitHub代碼庫:https://github.com/GrooveStomp/platformer
我還推我看到到同一回購錯誤:現在https://github.com/GrooveStomp/platformer/blob/master/errors.txt
,從閱讀中,我已經做了,它好像SDL只是簡單地包裝Mac OSX的Objective-C Cocoa圖層,我需要聲明自己的NSAutoreleasePool來包裝我的整個程序。那是對的嗎?
我剛剛遇到這個鏈接:http://sourceforge.net/apps/wordpress/paintown/2010/12/26/sdl-and-osx/其中作者從源代碼安裝,沒有問題。我使用Homebrew進行了安裝,我認爲這相當於作者的第3步,因爲在構建時我必須指定「-framework OpenGL」。
[編輯]
所以,事實證明,在NSAutoreleaseNoPool()問題應該通過以下三個步驟來照顧:
- 的main()應該有這樣的簽名:INT主( int argc,char * argv [])
- #include <SDL.h>在main()所在的源文件中。
- 與-lSDLmain
結果鏈接是SDL將包裹它自己的main()與NSAutoreleasePool和周圍的所有我的主。然而,當我這樣做,我得到如下所示的錯誤:
https://github.com/GrooveStomp/platformer/blob/master/make_errors.txt
哪個SDL和OSX版本? – genpfault 2011-02-17 17:18:46
OSX達爾文10.6.0,SDL 1.2.14 – GrooveStomp 2011-02-18 17:38:39