2016-07-07 15 views
1

Ich habe die ttf-Datei in mein Projekt aufgenommen, ich kopierte diese ttf in den Debug-Ordner und in den Ordner System32, und ich habe es unter Windows installiert. Ich benutzte eine andere C++ Quelle, die im Internet gefunden wurde, es funktioniert nicht so gut. Aber wenn ich die Binärdatei direkt aus dem Ordner "Debuggen" (nicht aus der IDE) ausführen, funktioniert es korrekt.SDL C++ IDE kann nicht öffnen. TTF-Datei

Im mit CodeBlocks, SDL2.

+0

Das Arbeitsverzeichnis scheint nicht, wo Sie denken, es ist. – MikeCAT

Antwort

1

Die Pfade, die Sie in Ihrem Code verwenden, sind relativ zu dem Verzeichnis, aus dem Ihre App ausgeführt wird.

Wenn Ihre .ttf-Datei im selben Verzeichnis wie die Anwendung ist, sollten Sie SDL_GetBasePath() verwenden, um herauszufinden, wo das ist:

char* p = SDL_GetBasePath(); 
if(p == nullptr) { /* TODO: error */ } 
std::string ttfPath = std::string(p) + "myfont.ttf"; 
SDL_free(p); // TODO: exception safety 
// now, you can open the file 
TTF_Font* f = TTF_OpenFont(ttfPath.c_str(), 42); 
// ... 
+0

Es funktioniert, danke für Ihre Hilfe !! :) –