2013-05-04 2 views
3

Я работаю над простой оболочкой для SDL, чтобы функционировать как своего рода игровой движок. На данный момент у меня есть простая временная основная функция, которая выглядит следующим образом:SDL: Неопределенные символы для архитектуры x86_64

#include <iostream> 

int main(int argc, char * argv[]) 
{ 
    std::cout << "Still in development!\n"; 
    return 0; 
} 

Наряду с некоторыми простыми функциями для обертки:

#include "SDL.h" 

namespace snowshoe 
{ 
    void initialize() 
    { 
    SDL_Init(SDL_INIT_EVERYTHING); 
    } 

    void release() 
    { 
    SDL_Quit(); 
    } 

    void update(SDL_Surface * screen) 
    { 
    SDL_Flip(screen); 
    } 
} 

Но когда я пытаюсь скомпилировать два я получаю следующее ошибка:

Undefined symbols for architecture x86_64: 
    "_SDL_Flip", referenced from: 
     snowshoe::update(SDL_Surface*)  in snowshoe-iru.o 
    "_SDL_Init", referenced from: 
     snowshoe::initialize()    in snowshoe-iru.o 
    "_SDL_Quit", referenced from: 
     snowshoe::release()     in snowshoe-iru.o 
ld: symbol(s) not found for architecture x86_64 
collect2: ld returned 1 exit status 

Прежде чем кто спрашивает, я включил все флаги мне нужно:

`sdl-config --cflags` -lSDL 

Любые идеи? Я запускаю OSX Mountain Lion и компилирую из командной строки (а не Xcode).

+0

Можете ли вы показать нам вывод sdl -config --cflags? – selalerer

+0

@selalerer Это '-I/usr/local/include/SDL -D_GNU_SOURCE = 1 -D_THREAD_SAFE' – beakr

+0

Каков вывод' sdl-config -libs'? – Xymostech

ответ

1

попробовать `СДЛ-конфигурации --cflags --libs`

на моей системе это дает

-I/USR/включать/SDL -D_GNU_SOURCE = 1 -D_REENTRANT -L/USR/Lib/x86_64-Linux-гну -lSDL

, например, я

г ++ fractal.cpp -O3 -fopenmp -mavx `СДЛ-конфигурации --cflags --libs` -o fractal_gcc_avx

Смежные вопросы