Я работаю над кроссплатформенным кодом с использованием OpenGL и SDL, но сразу столкнулся с проблемами в Mac OSX.
Для справки, вот кодовая база на GitHub: https://github.com/GrooveStomp/platformer
Я также выдвинул ошибки, которые я вижу в том же репо: https://github.com/GrooveStomp/platformer/blob/master/errors.txt
Теперь, из прочитанного мною чтения, кажется, что SDL просто оборачивается Objective-C Mac OSXСлой какао и мне нужно объявить мой собственный NSAutoreleasePool, чтобы обернуть всю мою программу.Это правильно?
Я только что натолкнулся на эту ссылку: http://sourceforge.net/apps/wordpress/paintown/2010/12/26/sdl-and-osx/, в которой автор устанавливает из исходного кода и не имеет проблем.Я установил с помощью Homebrew, что, я полагаю, эквивалентно шагу №3 автора, так как при сборке я должен указать "-framework OpenGL".
[EDIT]
Итак, получаетсячто проблема NSAutoreleaseNoPool () должна быть решена, выполнив следующие три шага:
- main () должна иметь эту сигнатуру: int main (int argc, char * argv [])
- # включаютв исходном файле, где main () - это.
- ссылка с -lSDLmain
В результате SDL обернет свой собственный main () с помощью NSAutoreleasePool и всего моего main.Однако, когда я делаю это, я получаю ошибки, показанные здесь:
https://github.com/GrooveStomp/platformer/blob/master/make_errors.txt