IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MinGW Discussion :

CODE BLOCK MINGW et GETOPENFILENAME()


Sujet :

MinGW

  1. #1
    Candidat au Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2016
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Aisne (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2016
    Messages : 6
    Points : 4
    Points
    4
    Par défaut CODE BLOCK MINGW et GETOPENFILENAME()
    Compiler GetOpenFileName(&ofn) me donne cette erreur :

    ||=== Build: Debug in Mycologie (compiler: GNU GCC Compiler) ===|
    obj\Debug\main.o||In function `Z15WindowProcedureP6HWND__jjl@16':|
    C:\Users\Public\Documents\Champignons\Mycologie\main.cpp|125|undefined reference to `GetOpenFileNameA@4'|
    ||error: ld returned 1 exit status|
    ||=== Build failed: 2 error(s), 0 warning(s) (0 minute(s), 0 second(s)) ===|
    J'ai la même erreur avec BCC55 que MinGW (GCC) sur deux PC (Windows 10 et Windows Vista).

    Je n'ai pas trouvé de solution sur le forum…

    Merci pour votre aide



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    OPENFILENAME ofn;
                                CHAR szFile[MAX_PATH]={0};
     
                                ZeroMemory(&ofn, sizeof(OPENFILENAME));
                                ofn.lStructSize = sizeof(OPENFILENAME);
                                ofn.hwndOwner = hwnd;
                                ofn.lpstrFile = szFile;
                                ofn.nMaxFile = MAX_PATH;
                                ofn.lpstrFilter =
                                           "Fichier source C\0*.c\0Fichier source CPP\0*.cpp\0";
                                ofn.nFilterIndex = 1;
                                ofn.Flags =
                                       OFN_PATHMUSTEXIST | OFN_FILEMUSTEXIST | OFN_HIDEREADONLY;
     
                                if (GetOpenFileName(&ofn)==TRUE)

  2. #2
    Membre confirmé

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2015
    Messages
    294
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mars 2015
    Messages : 294
    Points : 558
    Points
    558
    Par défaut
    Hello,
    vous devez linker votre projet avec -lcomdlg32 pour utiliser getopenfilename et inclure windows.h .

  3. #3
    Candidat au Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2016
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Aisne (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2016
    Messages : 6
    Points : 4
    Points
    4
    Par défaut
    Merci. Le programme inclut déjà <windows.h> et maintenant <commdlg.h>, je dois insérer un autre lien ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    #include <tchar.h>
    #include <windows.h>
    #include <stdio.h>
    #include <commdlg.h>
    #include "resource.h"

  4. #4
    Membre confirmé

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2015
    Messages
    294
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mars 2015
    Messages : 294
    Points : 558
    Points
    558
    Par défaut
    Oui, vous devez inclure commdlg.h ou Windows.h, mais vous devez aussi lier votre projet avec la bibliothèque comdlg32.

    Si vous utilisez CodeBlocks/MinGW, vous pouvez ajouter la bibliothèque comdlg32 en sélectionnant project/build options/linker settings /add ....

  5. #5
    Candidat au Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2016
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Aisne (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2016
    Messages : 6
    Points : 4
    Points
    4
    Par défaut GetOpenFile...
    Merci , apres ajout du lien la compilation se passe correctement.

    Toutefois ce n'est pas trivial...

    Merci beaucoup

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Code::Blocks + MinGW
    Par issmaz dans le forum Code::Blocks
    Réponses: 0
    Dernier message: 12/12/2011, 14h37
  2. Réponses: 5
    Dernier message: 02/07/2008, 13h14
  3. Installation de Boost avec Code::Blocks et MinGW
    Par kalash_jako dans le forum Code::Blocks
    Réponses: 0
    Dernier message: 27/08/2007, 13h16
  4. lib3ds qui marche avec code::block et MinGW
    Par Velvounet dans le forum Bibliothèques
    Réponses: 3
    Dernier message: 20/08/2007, 15h54
  5. 3dslib avec code::block et MinGW
    Par Velvounet dans le forum Windows
    Réponses: 0
    Dernier message: 14/08/2007, 18h40

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo