Forum: Dev-C++ SDL_image fel :S

Forum huvudsida -> Programmering -> Dev-C++ SDL_image fel :S

Sidor: 1

Till botten

brainlessbob 21:47 - 24:e Oktober 2005 | Post #1
Medlem
Inlägg: 69


Skicka PM
Jag har Dev-C++ och har laddat ner SDL_image + alla packages som behövs.
Installerat och allt gått bra.
Jag har lagt SDL.dll och SDL_image.dll i project mappen men jag kan inte komplimera.
Här är den del av koden felet ligger i.

  1.  
  2. #ifdef WIN32
  3. #pragma comment(lib, "SDL.lib")
  4. #pragma comment(lib, "SDLmain.lib")
  5. #pragma comment(lib, "SDL_Image.lib")
  6. #endif
  7. #include <stdio.h>
  8. #include <stdlib.h>
  9. #include <string.h>
  10. #include <SDL/SDL.h>
  11. #include <windows.h>
  12. #include <SDL_image.h>
  13. #include <iostream>
  14. using namespace std;
  15. int DisplayImage(SDL_Surface* destination, const char*, int x, int y)
  16. {
  17. // Ladda bilden
  18. SDL_Surface* image;
  19. SDL_Surface* image2;
  20. image = IMG_Load(prick.bmp);
  21. if (image == NULL)
  22. {
  23. cout << "Image could not be loaded!" << endl;
  24. return 1;
  25. }
  26. // Skapa en rect
  27. SDL_Rect rect;
  28. rect.x = x;
  29. rect.y = y;
  30. rect.w = image->w;
  31. rect.h = image->h;
  32. image2 = SDL_LoadBMP("test.bmp");
  33. if (image2 == NULL)
  34. {
  35. cout << "Image could not be loaded!" << endl;
  36. return 1;
  37. }
  38. // Kopiera över bilden till ytan
  39. SDL_BlitSurface(image, NULL, destination, &rect);
  40. return 0;
  41. }


Felet jag får när jag complimerar är följande:

18 C:Dev-Cppchicken runmain.c SDL_image.h: No such file or directory.
C:Dev-Cppchicken runmain.c In function `int DisplayImage(SDL_Surface*, const char*, int, int)':
29 C:Dev-Cppchicken runmain.c `prick' undeclared (first use this function)
(Each undeclared identifier is reported only once for each function it appears in.)
29 C:Dev-Cppchicken runmain.c `IMG_Load' undeclared (first use this function)
C:Dev-Cppchicken runMakefile.win [Build Error] [main.o] Error 1

Verkar som om den inte hittar .dll filen.
Har jag gjort nåt fel eller behöver jag andra filer?

-------------------------
Idioter kan göra underverk!

Senast redigerad 18:41 - 25:e Oktober 2005


Celeron 06:47 - 25:e Oktober 2005 | Post #2
Medlem
Inlägg: 418


Skicka PM
Du måste ställa in kompilatorn för att leta i mapparna med SDL's header filer. Det gör du under kompilator alternativ på verktygsmenyn tror jag att det var. Sedan måste du ha citationstecken på filnamnet (""). Jag kan inte SDL så jag kan ju ha fel...

-------------------------
Det viktigaste är att ha roligt! Har ny hemsida: http://www.freewebs.com/cpperik/



brainlessbob 10:05 - 25:e Oktober 2005 | Post #3
Medlem
Inlägg: 69


Skicka PM
Jo, det verkar logiskt. Var inte tvungen att göra dem med SDL fast då laddade jag ner en package Smiley
,,r i skolan nu ska testa när jag kommer hem.
Har dock programmet här och jag tror jag vet vad jag ska göra.
Tackar.

-------------------------
Idioter kan göra underverk!



brainlessbob 18:40 - 25:e Oktober 2005 | Post #4
Medlem
Inlägg: 69


Skicka PM
Har fixat problemet genom att skriva #include<SDL/SDL_image.h> istället för #include<SDL_image.h>.
Men ett annat problem har dykt upp Smiley
När jag komplimerar så får jag detta felmeddelande.

Fixade problemet! Smiley

[Linker error] undefined reference to `IMG_Load'
ld returned 1 exit status
C:Dev-Cppchicken runMakefile.win [Build Error] [Chickenrun.exe] Error 1

Verkar vara något om att den inte hittar någon fil.
Vet ni va jag kan göra?
Här är delen av koden som använder SDL_image.


  1. #ifdef WIN32
  2. #pragma comment(lib, "SDL.lib")
  3. #pragma comment(lib, "SDLmain.lib")
  4. #pragma comment(lib, "SDL_Image.lib")
  5. #endif
  6. #include <stdio.h>
  7. #include <stdlib.h>
  8. #include <string.h>
  9. #include <SDL/SDL.h>
  10. #include <windows.h>
  11. #include "SDL/SDL_image.h"
  12. #include <iostream>
  13. using namespace std;
  14. int DisplayImage(SDL_Surface* destination, const char*, int x, int y)
  15. {
  16. // Ladda bilden
  17. SDL_Surface* image;
  18. image = IMG_Load("prick.bmp");
  19. if (image == NULL)
  20. {
  21. cout << "Image could not be loaded!" << endl;
  22. return 1;
  23. }
  24. // Skapa en rect
  25. SDL_Rect rect;
  26. rect.x = x;
  27. rect.y = y;
  28. rect.w = image->w;
  29. rect.h = image->h;
  30. // Kopiera över bilden till ytan
  31. SDL_BlitSurface(image, NULL, destination, &rect);
  32. return 0;
  33. }


Fixade problemet Smiley
Var tvungen att lägga till -lSDL_Image i Project->Project Options->Parameters->Linker.
Fungerar kanon bra nu.



-------------------------
Idioter kan göra underverk!

Senast redigerad 19:19 - 25:e Oktober 2005


Sidor: 1

Forum huvudsida -> Programmering -> Dev-C++ SDL_image fel :S
Atom feed

Du får inte posta i den här tråden | Till toppen