Forum: SDL start problem på kompis dator

Forum huvudsida -> Programmering -> SDL start problem på kompis dator

Sidor: 1

Till botten

stampe 14:57 - 4:e November 2007 | Post #1
Medlem
Inlägg: 30


Skicka PM
Hejsan, har skrivit ett litet SDL program efter blinkenlights tutorialen.
När jag komplimerar det och kör så fungerar allt perfekto..
När jag sen skickar det till en polare så kan han ej starta det

c:document and settings.....
"this application has failed to start because the application configuration is incorrect. Reinstalling the application may fix this problem."

Har skickat med alla DLL filer för bild format, och SDL.dll, m.m.. även alla bilder är med..

  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.  
  7. #include "SDL.h"
  8. #include "SDL_image.h"
  9. #include <iostream>
  10.  
  11. using namespace std;
  12.  
  13. int DisplayBackground(SDL_Surface* destination, const char*, int x, int y);
  14. int DisplayImage(SDL_Surface* destination, const char*, int x, int y);
  15.  
  16. int main( int argc, char *argv[])
  17. {
  18. SDL_Surface *screen; //En yta
  19. SDL_Event event; //Variabel för händelser
  20.  
  21. int imgX=250, imgY=290, imgBRED=150, imgH-JD=200; //Variablar för att hålla reda på vart Kuben/Bakgrunden skall ritas ut
  22.  
  23. //Initiera SDL
  24. if( SDL_Init(SDL_INIT_AUDIO|SDL_INIT_VIDEO) < 0 )
  25. {
  26. cout <<" Error, unable to initialize SDL: " <<SDL_GetError <<endl;
  27. SDL_Quit();
  28. return 1;
  29. }
  30. else
  31. {
  32. cout <<" SDL initialized successfully!" <<endl;
  33. }
  34.  
  35. screen = SDL_SetVideoMode(640, 480, 16, SDL_HWSURFACE|SDL_DOUBLEBUF);
  36.  
  37. if (screen == NULL)
  38. {
  39. cout <<" Unable to set video mode: " <<SDL_GetError <<endl;
  40. SDL_Quit();
  41. return 1;
  42. }
  43. else
  44. {
  45. cout <<" Successfully set video mode!" <<endl;
  46. }
  47.  
  48. while (1)
  49. {
  50. SDL_PollEvent(&event);
  51. switch (event.type)
  52. {
  53. case SDL_QUIT:
  54. {
  55. cout <<" Terminating Program!" <<endl;
  56. SDL_Quit();
  57. return 0;
  58. }
  59. case SDL_KEYDOWN:
  60. {
  61. Uint8 *keys;
  62.  
  63. keys = SDL_GetKeyState(NULL);
  64. if (keys[SDLK_UP])
  65. imgY -= 5;
  66. if (keys[SDLK_DOWN])
  67. imgY += 5;
  68. if (keys[SDLK_LEFT])
  69. imgX -= 5;
  70. if (keys[SDLK_RIGHT])
  71. imgX += 5;
  72. if (keys[SDLK_ESCAPE])
  73. {
  74. cout <<" Terminating Program!" <<endl;
  75. SDL_Quit();
  76. return 0;
  77. }
  78. }
  79. }//Swtich slut
  80. DisplayBackground(screen, "background.png", imgBRED, imgH-JD);
  81. DisplayImage(screen, "kub.png", imgX, imgY);
  82. SDL_Flip(screen);
  83. SDL_Delay(25);
  84. }//While slut
  85.  
  86. SDL_Quit();//Stänger SDL och frigör resurser
  87.  
  88. return 0;
  89. }//main funktionen slut
  90.  
  91. int DisplayBackground(SDL_Surface* destination, const char*, int x, int y)
  92. {
  93. //Ladda Bakgrunden
  94. SDL_Surface* image;
  95. image = IMG_Load("background.png");
  96. if(image == NULL)
  97. {
  98. cout <<" Background could not be loaded!" <<endl; //Bakgrund ej hittad
  99. SDL_Delay(2000);
  100. return 1;
  101. }
  102.  
  103. //skapar rect för positionering
  104. SDL_Rect pos;
  105. pos.x = x;
  106. pos.y = y;
  107. pos.w = image->w;
  108. pos.h = image->h;
  109.  
  110. //Kopiera bakgrunden till ytan
  111. SDL_BlitSurface(image, NULL, destination, &pos);
  112. SDL_FreeSurface(image);
  113.  
  114. return 0;
  115. }//Bakgrundsfunktion slut
  116.  
  117. int DisplayImage(SDL_Surface* destination, const char*, int x, int y)
  118. {
  119. //Ladda Kuben
  120. SDL_Surface* image;
  121. image = IMG_Load("kub.png");
  122. if (image == NULL)
  123. {
  124. cout <<" Image could not be loaded!" <<endl;//Kuben kan ej hittas
  125. SDL_Delay(2000);
  126. return 1;
  127. }
  128.  
  129. //Skapa en rect
  130. SDL_Rect rect;
  131. rect.x = x;
  132. rect.y = y;
  133. rect.w = image->w;
  134. rect.h = image->h;
  135.  
  136. //Kopiera över kuben till ytan
  137. SDL_BlitSurface(image, NULL, destination, &rect);
  138. SDL_FreeSurface(image);
  139.  
  140. return 0;
  141. }//Slut på kubfunktionen


här finns spelet att ladda hem
http://home.rixtele.com/~firedesigns/software/kub_spelet.zip




Nissebosselasse 17:31 - 4:e November 2007 | Post #2
Medlem
Inlägg: 490


Skicka PM
Antar att du använder Visual Studio? Här står en massa om problemet (och liknande):
http://msdn2.microsoft.com/en-us/library/ms235299(vs.80).aspx

-------------------------
http://pushingcows.se
Gula Nallen



stampe 18:07 - 4:e November 2007 | Post #3
Medlem
Inlägg: 30


Skicka PM
    Citat av Nissebosselasse:
Antar att du använder Visual Studio? Här står en massa om problemet (och liknande):
http://msdn2.microsoft.com/en-us/library/ms235299(vs.80).aspx


Det som stod där är ju att jag typ saknar några filer, men om man kollar i andra SDL projekt som folk gjort så är inte dom filerna med...
...h andra sidan, vart hittar jag dom filerna...

Det borde väll oxå stå med i guiden här eller hur independence




FunkyChicken 22:17 - 4:e November 2007 | Post #4
Nyhetsredaktör
Inlägg: 800


Skicka PM
Felet har inte direkt med SDL att göra, vilket både förklarar att andras projekt funkar fint och att instruktioner inte alls hör hemma i SDL-guiden. Ditt problem har med Visual Studio att göra - om du läser artikeln som nissebosselasse länkade till hittar du ditt felmeddelande längst ned och instruktioner om hur du ska identifiera vilka filer som behövs och hur du gör ett installationsprogram!




stampe 23:00 - 4:e November 2007 | Post #5
Medlem
Inlägg: 30


Skicka PM
    Citat av FunkyChicken:
Felet har inte direkt med SDL att göra, vilket både förklarar att andras projekt funkar fint och att instruktioner inte alls hör hemma i SDL-guiden. Ditt problem har med Visual Studio att göra - om du läser artikeln som nissebosselasse länkade till hittar du ditt felmeddelande längst ned och instruktioner om hur du ska identifiera vilka filer som behövs och hur du gör ett installationsprogram!


så vadå det ligger hos MS asså felet... Skulle det bli anorlunda om jag bytte till a säg DEV c++?..




FunkyChicken 23:36 - 4:e November 2007 | Post #6
Nyhetsredaktör
Inlägg: 800


Skicka PM
Det är inget fel över huvud taget, det är du som inte distruberar ditt program på rätt sätt. Men förhoppningsvis slipper du problemet om du använder DevC++ eller nåt annat.Smiley




stampe 00:40 - 5:e November 2007 | Post #7
Medlem
Inlägg: 30


Skicka PM
okej tack:)....

Vart httar jag dom dll filerna som dom säger jag behöver om jag skall göra en setup fil?...


Senast redigerad 01:06 - 5:e November 2007


Sidor: 1

Forum huvudsida -> Programmering -> SDL start problem på kompis dator
Atom feed

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