Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[SDL, C++] undefined reference to `SDL_Init'

Ostatnio zmodyfikowano 2012-03-09 11:17
Autor Wiadomość
Beosky
Temat założony przez niniejszego użytkownika
[SDL, C++] undefined reference to `SDL_Init'
» 2012-03-09 09:11:05
C/C++
#include <SDL.h>
SDL_Surface * ekran = NULL;
int main( int argc, char * args[] )
{
    SDL_Init( SDL_INIT_EVERYTHING );
    ekran = SDL_SetVideoMode( 640, 480, 32, SDL_SWSURFACE );
    SDL_Flip( ekran );
    SDL_Delay( 2000 );
    SDL_Quit();
    return 0;
}


Jak kliknę na complie to wywala w logu:
Compiling: C:\Users\Daniel\Desktop\Lordareon\main.cpp
Linking console executable: C:\Users\Daniel\Desktop\Lordareon\main.exe
C:\Users\Daniel\Desktop\Lordareon\main.o:main.cpp:(.text+0xe): undefined reference to `SDL_Init'
C:\Users\Daniel\Desktop\Lordareon\main.o:main.cpp:(.text+0x32): undefined reference to `SDL_SetVideoMode'
C:\Users\Daniel\Desktop\Lordareon\main.o:main.cpp:(.text+0x44): undefined reference to `SDL_Flip'
C:\Users\Daniel\Desktop\Lordareon\main.o:main.cpp:(.text+0x50): undefined reference to `SDL_Delay'
C:\Users\Daniel\Desktop\Lordareon\main.o:main.cpp:(.text+0x55): undefined reference to `SDL_Quit'
c:/program files/codeblocks/mingw/bin/../lib/gcc/mingw32/4.4.1/../../../libmingw32.a(main.o):main.c:(.text+0xd2): undefined reference to `WinMain@16'
collect2: ld returned 1 exit status
Process terminated with status 1 (0 minutes, 1 seconds)
6 errors, 0 warnings

Używam CodeBlocks
P-52245
DejaVu
» 2012-03-09 09:12:56
To są błędy linkera.
Frazy, które należy wpisać w wyszukiwarkę google:
P-52246
Beosky
Temat założony przez niniejszego użytkownika
» 2012-03-09 09:22:22
Google tutaj mi nie pomogło, bo większość używa Visual C++, a ja CodeBlocks'a.
A, to co znalazłem do CodeBlocks'a nie pomogło.
P-52247
Beosky
Temat założony przez niniejszego użytkownika
» 2012-03-09 09:41:43
Dobra z tym sobie poradziłem, ale mam dziwny problem przy komplikacji.
Compiling: C:\Users\Daniel\Desktop\Lordareon\main.cpp
Linking console executable: C:\Users\Daniel\Desktop\Lordareon\main.exe
C:\Program Files\CodeBlocks\MinGW\lib\._libSDL.dll.a: file not recognized: File format not recognized
collect2: ld returned 1 exit status
Process terminated with status 1 (0 minutes, 0 seconds)
0 errors, 0 warnings
 

Nie tworzy aplikacji do uruchomienia i nie mogę wgl. tego włączyć.
P-52248
DejaVu
» 2012-03-09 09:59:13
Jak linujesz plik *.dll, a nie plik *.a to nic dziwnego, że nie działa :)
P-52249
Beosky
Temat założony przez niniejszego użytkownika
» 2012-03-09 10:03:58
Mógłbyś jaśniej, bo jednak nie zrozumiałem. W linkerze dodałem po prostu:


._libSDL.dll.a
._libSDLmain.a
libSDL.dll.a
libSDLmain.a

A, dodawałem więcej plików tylko po prostu ich nie wyszukuje.
Dodaje za pomocą Complier and debugger settings -> Linker settings -> Add.

P-52250
DejaVu
» 2012-03-09 10:12:38
Dodaj tylko te pliki, które istnieją po pierwsze fizycznie na dysku, a po drugie są przeznaczone dla Code::Blocks. Nie dodawaj również 2 razy plików o zbliżonej nazwie, bowiem jedne są do linkowania statycznego, a inne do linkowania dynamicznego.
P-52251
Gabes
» 2012-03-09 10:15:15
Czy w include umieściłeś folder SDL z plikami nagłówkowymi ? Jeśli tak to dawaj 
#include <SDL/SDL.h>
.
P-52253
« 1 » 2
  Strona 1 z 2 Następna strona