Próbowałem uruchomić super prosty program SDL. Używam Mac OS X Lion. Mam SDL do pracy w Snow Leopard, ale wydaje się, że nie chce pracować na lwie. Do tej pory mam to:Konfigurowanie SDL na Mac OS X Lion z 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;
}
Kiedy próbuję skompilować ten kod (w Xcode 4.1) daje mi ten błąd:
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)
Gdybym odkomentowaniu rzeczy #ifdef ja komentowali obecnie, program kompiluje, ale potem odbiera SIGABRT w linii SDL_SetVideoMode. To komentowało rzeczy, które widziałem w innym programie, nie jestem pewien, czy powinienem je mieć, czy nie.
Jak mam to sprawić?
Czy możesz podać polecenie wydane przez XCode, aby skompilować/połączyć program? (Pozbądź się tej rzeczy #ffdef, BTW) –
@BrettHale Nie jestem pewien, w jaki sposób znajdę to polecenie. Używa wartości domyślnych z szablonu aplikacji wiersza poleceń z C++ Edit: Think I found it: http://pastebin.com/zprm01Kp – Cole