Bonjour
Je suis en train de "porter" (oui, c'est souvent nécessaire...) un petit programme de Visual C++ à Code:Blocks utilisant GnuCC et MinGW.
J'ai du code qui se compile sans aucune erreur dans le premier mais je n'arrive pas à le faire digérer par GnuCC.
Voici juste le minimum essentiel:
Cela a toujours compilé et fonctionné parfaitement (depuis 2012, je l'utilise souvent) dans Visual Studio mais dans Code::Blocks le GnuCC refuse le cast: "conversion invalide" de doDialog().
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 int CALLBACK doDialog( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam ); ... WinMain()... { int choix; ... choix = DialogBox( hInst, MAKEINTRESOURCE( IDD_DIALOG1 ), NULL, doDialog ); ... }
J'ai essayé (DLGPROC) explicitement, j'ai changé le type de doDialog() mais rien n'y fait.
Plusieurs valeurs peuvent être retournées par doDialog() donc il ne peut pas être "bool" - mais même si je définis ainsi pour voir ça ne marche toujours pas.
Seul changer la déclaration de DialogBox() dans winuser.h le fait passer... mais je n'aime pas faire ça (normalement " __MINGW_NAME_AW DialogBox( ..."). Ca revient à "long long int (*)" alors que dans VS tout était de 32 bits. Un rapport?
Une idée? Merci d'avance.
Partager