我在我的Mac OS X上使用SDL Cocoa和Foundation框架编写C++程序时遇到了以下错误:
Undefined symbols for architecture x86_64:
"_SDL_main", referenced from:
-[SDLMain applicationDidFinishLaunching:] in SDLMain.o
ld: symbol(s) not found for architecture x86_64
当我运行以下代码时
#import <Foundation/Foundation.h>
#import <SDL/SDL.h>
#include "SDLMain.h"
int main(int argc, const char * argv[])
{
SDL_Init(SDL_INIT_EVERYTHING);
SDL_SetVideoMode(640,480,32,SDL_DOUBLEBUF);
SDL_Event event;
bool isRunning = true;
while(SDL_PollEvent(&event)){
if(event.type == SDL_QUIT){
isRunning=false;
}
}
SDL_Quit();
return 0;
}
虽然我不知道出了什么问题,但当我进入SDLMain.m文件并注释掉这行代码时,情况似乎会改善。
status = SDL_main (gArgc, gArgv);
这个程序编译没有问题。但是它不能正常工作,窗口也没有像预期的那样打开。有什么想法吗?