Forum Clubic

Expected initializer before '*' token

Salut. Voilà, j’essaye de recompiler une .dll de windows sans utiliser visual studio, tout simplement codeblocks.

Problème, je rencontre pas mal d’erreurs de compilation. Cela me surprend, car je croyais qu’un code C++ compilable sous un compilateur de Microsoft pouvait aussi l’être sur un compilateur libre…

Pourriez-vous m’aider ? C’est dans le fichier ShTypes.h

J’ai l’erreur "expected initializer before '’ token"
à la ligne
typedef /
[unique] */ __RPC_unique_pointer BYTE_BLOB *wirePIDL;
et
typedef STRRET *LPSTRRET;
et
typedef const SHCOLUMNID *LPCSHCOLUMNID;

J’ai “expected identifier before numeric constant”
pour la ligne
{ STRRET_WSTR = 0,
de
typedef /* [v1_enum] */
enum tagSTRRET_TYPE
{ STRRET_WSTR = 0,
STRRET_OFFSET = 0x1,
STRRET_CSTR = 0x2
} STRRET_TYPE;

Expected constructor, destructor, or type conversion before ‘;’ token
à la ligne
} STRRET_TYPE;
de
typedef /* [v1_enum] */
enum tagSTRRET_TYPE
{ STRRET_WSTR = 0,
STRRET_OFFSET = 0x1,
STRRET_CSTR = 0x2
} STRRET_TYPE;

‘PROPERTYKEY’ does not name a type
à la ligne
typedef PROPERTYKEY SHCOLUMNID;

Je ne comprends pas trop la signification de ces erreurs… Quelqu’un peut-il m’expliquer, et si possible m’aider à les corriger ?

Merci d’avance…

Il serait mieux d’avoir tout le code car la c’est assez brouillon
Edité le 11/05/2011 à 15:54

Faudrait que tu tente de dire à gcc de t’afficher le fichier C++ de sortie (option -E de mémoire). Cela permet de voir où se situe exactement cette erreur syntaxique. Y a peut-être une macro que CodeBlock ne définit pas…