He intentado hacer funcionar un programa SDL super sencillo. Estoy usando Mac OS X Lion. Tengo SDL para trabajar en Snow Leopard, pero parece que no quiere trabajar en el león. Hasta ahora tengo esto:Configuración de SDL en Mac OS X Lion con XCode 4
#include <iostream>
#include "SDL/SDL.h"
using namespace std;
/*
#ifdef main
# undef main
#endif
*/
int main(int argc, char* args[])
{
SDL_Surface* hello = NULL;
SDL_Surface* screen = NULL;
SDL_Init(SDL_INIT_EVERYTHING);
screen = SDL_SetVideoMode(640, 480, 32, SDL_SWSURFACE);
hello = SDL_LoadBMP("hello.bmp");
SDL_BlitSurface(hello, NULL, screen, NULL);
SDL_Flip(screen);
SDL_Delay(2000);
SDL_FreeSurface(hello);
SDL_Quit();
return 0;
}
Cuando intento compilar el código (en Xcode 4.1) que me da este error:
Undefined symbols for architecture x86_64:
"_main", referenced from:
start in crt1.10.6.o
(maybe you meant: _SDL_main)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Si Descomentar la materia #ifdef he comentado en la actualidad, el programa compila, pero luego recibe SIGABRT en la línea SDL_SetVideoMode. Eso que comenté que acabo de ver en otro programa, no estoy seguro si se supone que lo tengo o no.
¿Cómo se supone que voy a hacer que esto funcione?
¿Puede proporcionar el comando emitido por XCode para compilar/vincular el programa? (Deshacerse de las cosas #ifdef, BTW) –
@BrettHale No estoy seguro de cómo encontraría ese comando. Está utilizando los valores predeterminados de la plantilla de la aplicación de línea de comandos con C++ Edit: Creo que lo encontré: http://pastebin.com/zprm01Kp – Cole