在OS X中使用SDL编译C/C++应用程序,链接问题

Sér*_*gio 5 macos sdl compilation g++ x86-64

我正在尝试编译在OS X 10.6.8上使用SDL的C/C++程序,但是我在链接阶段遇到了一些错误,代码编译但由于某些缺少符号而无法编辑.错误是:

Undefined symbols for architecture x86_64:
"_CFBundleGetMainBundle", referenced from: 
  -[SDLMain setupWorkingDirectory:] in libSDLmain.a(SDLMain.o)
  _main in libSDLmain.a(SDLMain.o)
"_CFBundleCopyBundleURL", referenced from:
  -[SDLMain setupWorkingDirectory:] in libSDLmain.a(SDLMain.o)
"_CFURLCreateCopyDeletingLastPathComponent", referenced from:
  -[SDLMain setupWorkingDirectory:] in libSDLmain.a(SDLMain.o)
"_CFURLGetFileSystemRepresentation", referenced from:
  -[SDLMain setupWorkingDirectory:] in libSDLmain.a(SDLMain.o)
"_CFRelease", referenced from:
  -[SDLMain setupWorkingDirectory:] in libSDLmain.a(SDLMain.o)

...

"_OBJC_CLASS_$_NSAutoreleasePool", referenced from:
  objc-class-ref in libSDLmain.a(SDLMain.o)
ld: symbol(s) not found for architecture x86_64
collect2: ld returned 1 exit status
make: *** [dist/linwarrior] Error 1
Run Code Online (Sandbox Code Playgroud)

我检查了file命令,库只是x86_64或者是i386和x86_64版本的通用库.

有没有办法让我确定究竟是什么导致了这个错误?检查正在包含的库或以何种方式帮助调试问题的方法?

我不知道它是否有帮助,但这是我的Makefile创建的,我删除了文件名以使其缩短,并且KNT标志只是我用于预处理器条件的东西:

/opt/local/bin/g++-mp-4.5 -DKNT=1 -Wp,-M,-MP,-MT,-MF, -std=c++0x -Wall -I source -O1 -funroll-loops -c -o
Run Code Online (Sandbox Code Playgroud)

谢谢.