Je suis 2 erreurs loin de la compilation Qgears. (Version piratée du moteur Final Fantasy VII)J'ai besoin d'aide avec cet en-tête dépendant de l'ogre (Qgears)
Je me suis trompé avec les préprocesseurs pour charger l'emplacement réel des fichiers d'en-tête ogre.
Voici les erreurs:
||=== qgears, Debug ===|
/home/cj/Desktop/qgears/trunk/project/linux/src/core/TextManager.h|48|error: invalid use of ‘::’|
/home/cj/Desktop/qgears/trunk/project/linux/src/core/TextManager.h|48|error: expected ‘;’ before ‘m_LanguageRoot’|
||=== Build finished: 2 errors, 0 warnings ===|
Voici le fichier d'en-tête:
// $Id$
#ifndef TEXT_MANAGER_h
#define TEXT_MANAGER_h
#include <OGRE/OgreString.h>
#include <OGRE/OgreUTFString.h>
#include <map>
struct TextData
{
TextData():
text(""),
width(0),
height(0)
{
}
Ogre::String name;
Ogre::UTFString text;
int width;
int height;
};
typedef std::vector<TextData> TextDataVector;
class TextManager
{
public:
TextManager(void);
virtual ~TextManager(void);
void SetLanguageRoot(const Ogre::String& root);
void LoadTexts(const Ogre::String& file_name);
void UnloadTexts(const Ogre::String& file_name);
const TextData GetText(const Ogre::String& name);
private:
struct TextBlock
{
Ogre::String block_name;
std::vector<TextData> text;
}
Ogre::String m_LanguageRoot; // Line #48
std::list<TextBlock> m_Texts;
};
extern TextManager* g_TextManager;
#endif // TEXT_MANAGER_h
Le seul fichier d'en-tête qui est en comprennent ce n'est pas un fichier d'en-tête d'ogre est « la carte ».
Si cela vous aide, j'utilise le compilateur IDE/GCC Code :: Blocks sous GNU/Linux. (Arch)
Je ne suis pas sûr que même si j'obtiens cet en-tête corrigé, je pense que je vais avoir des erreurs de construction, mais ça vaut le coup.
Edit: J'ajouté le point-virgule et j'ai une autre erreur dans le fichier d'en-tête:
error: expected unqualified-id before ‘{’ token
Que voulez-vous dire? – commodore
Je reçois toujours la même erreur sur la même ligne. mais le nombre est passé de 43 à 45. – commodore
J'ai encore plus d'erreurs avec cet entête. J'abandonne (pour l'instant) c'est trop complexe pour moi de réparer à mon niveau de compétence. – commodore