Erreur de compilation suite à un portage Linux -> Windows
Bonjour à tous,
Dans le cadre d'un projet OpenSource multiplateforme, je dois porter mon code sous windows ( j'utilise Visual C++ 6.0 et Qt-3.3.5 pour Win ). Tout ce compilait très bien sous Linux et ( sous windows ), mais là, suite à un :
#include <windows.h>
J'en ai besoin pour un appel à "shellExecute" afin de pouvoir ouvrir un explorer ou lecteur de médias ou un module de mail.
mon programme ne veut plus compiler. J'obtiens les 2 erreurs suivantes dans un fichier header de Visual :
C:\Visual\VC98\INCLUDE\objidl.h(6624) : error C2143: syntax error : missing ';' before 'string'
C:\Visual\VC98\INCLUDE\objidl.h(6624) : fatal error C1004: unexpected end of file found
Les lignes correspondantes sont fournies avec Microsoft Visual studio... Donc je pense ( peut-etre à tord, mais j'en aurais entendu parler ) que ces lignes sont plus "sûr" que les miennes.
Il ne manque pas à mon code ';' ni de '(' ou ')' . Ca fait maintenant + de 3 jours à temps plein que je suis la-dessus... Si quelqu'un avait une idée ce serait super super gentil... :lol:
Parce que là moi je CRRAAAQUE ... :cry: :cry:
D'avance, merci beaucoup.
Clément
PS : C'est mon premier message sur un forum, alors excusez moi si je ne l'ai pas mis dans la bonne thread...
ENNNNNFFFIIIINNNNNN !!!!!!!!
:idea: Ôh Gloire ! Ôh bonheur ! :D
Ca y est je l'ai localisé !!! On dit quoi ? On dit :" merci Microsoft !" :?
Désolé pour les adorateurs de Bill ( je n'ai rien contre lui mais quand même )... J'ai encore jamais eut ce genre de trucs sous Linux. :twisted:
Bref toujours est-il l'erreur de compilo venait de, attention les yeux :
#define DATADIR "/usr/share" 8O
Donc c'est à savoir ce n'est la chaine de caractère qui fait référence à un chemin sous Linux qui faisait planter la compilo sous windows. Mais bien le nom de ma MACRO. C'est vrai, je le reconnais c'est un nom de macro pourri ( qui est surtout potentiellement utilisé partout ), mais bon c'est PAS UNE RAISON...
Donc, surtout si vous avez besoin d'un header découlant d'un :
#include <windows.h>
, prenez garde de ne pas avoir déclaré de macro
ayant le model suivant :
#define DATADIR "ma_macro_blablabla"
Sinon vous savez ce qu'il vous attend...
Donc voilà...
Clément
PS : merci VoidSeer pour ton idée ( c'est elle qui m'a sauvé ) et un peu de chance...
PS 2 : je crois que ça ne se fait pas de s'adresser directement comme ça à un gars ( ou une fille d'ailleurs ) dans les forums, mais quand même... Merci VoidSeer :twisted: