ERLEDIGT
JA
JA
ANTWORTEN
2
2
ZUGRIFFE
580
580
EMPFEHLEN
-
11.06.11 16:33 #1
- Registriert seit
- Jun 2011
- Beiträge
- 1
Also ich hab folgendes Problem und bin total überfragt, außerdem noch ziemlicher Anfänger.
Ich versuche in meinem Programm das ich in VS 2010 schreibe, die SDL_TTF.lib einzubinden. Ich habe das Include-Verzeichnis richtig angeben und auch das Lib-Verzeichnis, außerdem hab ich auch die benötigten Libs im Linker. SubSystem ist Windows und Laufzeitbib ist auf Multithreaded_DLL(/MD). Desweitern sind alle dlls in meinem Projekt-Ordner. Hatte auch beim Einbinden von SDL_image.lib keine Probleme.
mein Programmcode sieht wie folgt aus:
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155
#include <SDL.h> #include <string> #include <SDL_ttf.h> #include <SDL_image.h> const int SCREEN_WIDTH = 640; const int SCREEN_HEIGHT = 480; const int SCREEN_BPP=32; SDL_Surface* message = NULL; SDL_Surface* character = NULL; SDL_Surface* background = NULL; SDL_Surface* screen = NULL; TTF_Font* font = NULL; SDL_Color textColor ={255,255,255}; SDL_Event event; SDL_Surface* load_Image(std::string filename) { SDL_Surface* loadedImage = NULL; SDL_Surface* optimizedImage = NULL; loadedImage = IMG_Load(filename.c_str()); if(loadedImage != NULL) { optimizedImage = SDL_DisplayFormat(loadedImage); SDL_FreeSurface(loadedImage); } if(optimizedImage!=NULL) { Uint32 colorkey = SDL_MapRGB(optimizedImage->format, 0,0xFF,0xFF); SDL_SetColorKey(optimizedImage,SDL_SRCCOLORKEY,colorkey); } return optimizedImage; } void apply_surface(int x, int y,SDL_Surface* source,SDL_Surface* destination) { SDL_Rect offset; offset.x = NULL; offset.y = NULL; SDL_BlitSurface(source,NULL,destination,&offset); } bool init() { if(SDL_Init(SDL_INIT_EVERYTHING)==-1) { return false; } screen = SDL_SetVideoMode(SCREEN_WIDTH,SCREEN_HEIGHT,SCREEN_BPP,SDL_SWSURFACE); if(screen==NULL) { return false; } if(TTF_Init()==-1) { return false; } SDL_WM_SetCaption("Testspiel",NULL); return true; } bool load_files() { character = load_Image("figur.png"); background =load_Image("background.png"); font = TTF_OpenFont("ARIAL.ttf",28); if(character == NULL) { return false; } if(background == NULL) { return false; } if(font == NULL) { return false; } return true; } void clean_up() { SDL_FreeSurface(character); SDL_FreeSurface(message); SDL_FreeSurface(background); TTF_CloseFont(font); TTF_Quit(); SDL_Quit(); } int main(int argsc, char*args[]) { bool quit = false; if(init()==false) { return 1; } if(load_files()==false) { return 1; } message = TTF_RenderText_Solid(font,"Hey, I'm a Spaceship!",textColor); if(message==NULL) { return 1; } apply_surface(0,0,background,screen); apply_surface( 320, 0, background, screen ); apply_surface( 0, 240, background, screen ); apply_surface( 320, 240, background, screen ); apply_surface( 180, 140, character, screen ); apply_surface( 0, 150, message, screen ); if(SDL_Flip(screen)==-1) { return 1; } while(quit==false) { while(SDL_PollEvent(&event)) { if(event.type==SDL_QUIT) { quit = true; clean_up(); return 0; } } } }
Und der Fehler beim Kompilieren ist der folgende:
LINK : fatal error LNK1104: Datei "#include \SDL_ttf.h\.obj" kann nicht geöffnet werden.
Ich wäre echt für jede Hilfe dankbar, bin ziemlich überfragt
PS:Hab Bilder der Include, Lib und Linker Einstellungen und des Ordners E:\SDL-1.2.14\include und lib angehängt!Geändert von Sascha1986 (12.06.11 um 00:01 Uhr)
-
Hi und Willkommen bei tutorials.de

Ein paar Hinweise zum Forum: Es gibt auch einen eigenen Bereich für C und C++, statt "Sonstige Sprachen".
http://www.tutorials.de/c-c
Und Code, vor allem in solchen Mengen, schreibst du in Zukunft am besten in die Codetags.
Generell so:
[code]...[/code]
Für bestimmte Sprachen gibt es aber auch angepasste mit Highlighting etc. Für C bzw. C++:
[cpp]...[/cpp]
Zum Fehler: Der hat wenig mit dem eigentlichen Code zu tun, eher mit dem Projekt, seinen Einstellungen und Abhängigkeiten.
Mach am besten aus dem gesamten Ordner eine Zip-Datei und lad sie hier rauf (geht direkt hier im Forum).
Oder stell Screenshots von der Dateiliste links und den Linkereinstellungen rein (Bilder auch hier im Forum direkt möglich).
Gruß
-
12.06.11 07:38 #3
- Registriert seit
- Jun 2005
- Beiträge
- 8.169
Hi.
Anscheinend hast du irgendwo in den Linkereinstellungen angegeben, das eine Datei namens "#include \SDL_ttf.h\.obj" gelinkt werden soll.
Hast du denn das Problem beim Release und Debug Build?
Häng bitte mal die .vcxproj Datei an.
GrußIf at first you don't succeed, try again. Then quit. No use being a damn fool about it.
Ähnliche Themen
-
Fehler beim Kompilieren
Von grisu2611 im Forum Visual Basic 6.0Antworten: 0Letzter Beitrag: 13.01.09, 12:05 -
Eigene visuelles Objekt, fehler beim kompilieren, bzw. beim Einfügen durch den Design
Von w_digger im Forum .NET Windows FormsAntworten: 0Letzter Beitrag: 10.07.08, 16:29 -
Fehler beim PHP kompilieren
Von Katharsis Freak im Forum Linux & UnixAntworten: 4Letzter Beitrag: 01.07.08, 13:37 -
Fehler beim kompilieren
Von Nugorra im Forum C/C++Antworten: 2Letzter Beitrag: 09.10.07, 07:43 -
Fehler beim Kompilieren
Von Sephiroth the Second im Forum Visual Basic 6.0Antworten: 4Letzter Beitrag: 25.03.04, 10:34





Zitieren

Login





