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

Visual C++ Discussion :

[windows.h] Erreur du linker : LNK2019


Sujet :

Visual C++

  1. #1
    Membre à l'essai
    Étudiant
    Inscrit en
    Août 2006
    Messages
    11
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2006
    Messages : 11
    Points : 11
    Points
    11
    Par défaut [windows.h] Erreur du linker : LNK2019
    Bonjour, je me suis mis au développement d'interfaces graphiques avec l'API Win32, et j'ai une erreur d'édition de liens sur le code suivant :
    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    #include <windows.h>
     
    HINSTANCE hInst;
    LPCTSTR lpszAppName = "Test";
    LPCTSTR lpszTitle = "Programe de test";
     
    int APIENTRY WinMain(HINSTANCE hInstance,
    		     HINSTANCE hPrevInstance,
    		     LPSTR lpCmdLine,
    		     int nCmdShow)
    {
    	HWND hWnd;
     
    	hWnd = CreateWindow(
    		lpszAppName,
    		lpszTitle,
    		WS_OVERLAPPEDWINDOW,
    		CW_USEDEFAULT,
    		CW_USEDEFAULT,
    		CW_USEDEFAULT,
    		CW_USEDEFAULT,
    		NULL,
    		NULL,
    		hInstance,
    		NULL);
    	if(!hWnd)
    	{
    		return 0;
    	}
     
    	return 1;
    }
    Ce programme doit créer une fenêtre mais sans l'afficher, mais à la compilation le linker me fait cette erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    progtest.obj : error LNK2019: symbole externe non résolu __imp__CreateWindowExA@48 référencé dans la fonction _WinMain@16
    progtest.exe : fatal error LNK1120: 1 externes non résolus
    J'ai créer un projet "déjà tout fait" avec l'assistant VC++ pour comparer un code fait par Microsoft et le mien, mais je n'ai pas trouvé d'erreur dans la déclaration WinMain ni dans l'appel de CreateWindow, et je ne vois vraiment pas d'où peut venir le problème .

    Merci d'avance.

    EDIT : J'ai oublié de préciser que je compile à la ligne de commande, et toutes les variables d'environnement nécessaires (pour Visual Studio et Platform SDK) sont définies.

  2. #2
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 382
    Points : 41 588
    Points
    41 588
    Par défaut
    Essaie en rajoutant explicitement dans la ligne de commande du linker que tu as besoin de user32.lib...

  3. #3
    Membre à l'essai
    Étudiant
    Inscrit en
    Août 2006
    Messages
    11
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2006
    Messages : 11
    Points : 11
    Points
    11
    Par défaut
    Citation Envoyé par Médinoc
    Essaie en rajoutant explicitement dans la ligne de commande du linker que tu as besoin de user32.lib...
    Merci ça marche parfaitement

    En ajoutant uniquement user32.lib il arrivait encore d'avoir quelques erreurs, mais pour résoudre complètement le problème il faut ajouter ceci à la ligne de commande du linker :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib
    (Ce sont les bibliothèques que rajoute l'assistant dans les options du projet lorsque l'on utilise l'EDI.)

  4. #4
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 382
    Points : 41 588
    Points
    41 588
    Par défaut
    Ça m'étonnerait que tu aies besoin de toutes.
    Quoi qu'il en soit, la doc de chaque fonction indique dans quelle bibliothèque elle se trouve.

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

Discussions similaires

  1. Réponses: 16
    Dernier message: 30/04/2009, 16h51
  2. [windows Me] Erreurs lors de l'impression
    Par C_C dans le forum Windows 2000/Me/98/95
    Réponses: 2
    Dernier message: 10/07/2007, 00h22
  3. Réponses: 1
    Dernier message: 22/03/2007, 11h21
  4. bug à la connexion internet sous Windows xp (erreur 0x001405f3)
    Par adrienj dans le forum Dépannage et Assistance
    Réponses: 3
    Dernier message: 11/05/2006, 02h24
  5. Réponses: 5
    Dernier message: 22/02/2006, 19h21

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