Beosky Temat założony przez niniejszego użytkownika |
[SDL, C++] undefined reference to `SDL_Init' » 2012-03-09 09:11:05 #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 |
|
DejaVu |
» 2012-03-09 09:12:56 |
|
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. |
|
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ć. |
|
DejaVu |
» 2012-03-09 09:59:13 Jak linujesz plik *.dll, a nie plik *.a to nic dziwnego, że nie działa :) |
|
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.
|
|
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. |
|
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> . |
|
« 1 » 2 |