begin process at 2012 05 29 17:02:36
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

Probleme : error LNK2001: unresolved external symbol...


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Probleme : error LNK2001: unresolved external symbol...

vendredi 12 décembre 2003 à 19:21:19 | Probleme : error LNK2001: unresolved external symbol...

Mr.X

Tous d'abor bonjour, quand je compile mon programme (visual c++ 6.0), il m'affiche cette erreur, ece que quelqu'un pourrais l'aider ? :
Main.obj : error LNK2001: unresolved external symbol "long __stdcall WindowProc(struct HWND__ *,unsigned int,unsigned int,long)" (?WindowProc@@YGJPAUHWND__@@IIJ@Z)
Release/Logiciel.exe : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.

voicis le contexte :

#include <windows.h>
#include <sys/timeb.h>
#include <math.h>
#include <assert.h>
#include <iostream.h>
#include <stdio.h>


#pragma comment(lib, "Release/DLL.lib")
#include "DLL.h"
#include "resource.h"

//*********************Les classes***********************
CEncrypte pcEncrypte;

HINSTANCE hInst = NULL;
HWND hwnd = NULL;
WNDCLASS fenetre;
//*******************************************************


//************Prototype de fonction*****************************************
LRESULT CALLBACK WindowProc(HWND hwnd,UINT msg,WPARAM wparam,LPARAM lparam);
LRESULT CALLBACK DlgProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam);
//**************************************************************************

LRESULT CALLBACK DlgProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
switch(msg)
{
case WM_INITDIALOG:
//Reinitialisation (optionel)
memset(pcEncrypte.cEncrypte, 0, sizeof(pcEncrypte.cEncrypte));
break;

case WM_COMMAND:
{
/*
case VK_ESCAPE:
exit(1);
break;*/

switch(LOWORD(wParam))
{
case ID_EXIT:
//ShellExecute(hwnd,"open","www.DCA-Software.fr.st",0,0,SW_NORMAL);
exit(1);
break;

case ID_ENCRYPTE:
GetDlgItemText( hwnd, IDC_CONVERSION_W, pcEncrypte.cEncrypte, 2000); //On repeche les données
pcEncrypte.EncrypteTxt(); //On vas chercher le texte de la variable
break;

case IDC_OPTION:
//code for option here
break;
}
break;
}
default:
return FALSE;
}
return TRUE;
}

int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInst,LPSTR lpCmdLine,int nCmdShow)
{
//définition des paramètre de la classe fenêtre
fenetre.style = CS_DBLCLKS | CS_OWNDC | CS_HREDRAW | CS_VREDRAW;
fenetre.lpfnWndProc = WindowProc;
fenetre.cbClsExtra = 0;
fenetre.cbWndExtra = 0;
fenetre.hInstance = hInstance;
fenetre.hIcon = LoadIcon(hInst, NULL);//MAKEINTRESOURCE(IDI_APPICON)
fenetre.hCursor = LoadCursor(NULL, IDC_ARROW);
fenetre.hbrBackground = (struct HBRUSH__ *)GetStockObject(WHITE_BRUSH);
fenetre.lpszMenuName = NULL;
fenetre.lpszClassName = "Classe fenetre";

// enregistrer la classe fenêtre
if (!RegisterClass(&fenetre)) return(0);

hInst = hInstance;

DialogBox(hInst, MAKEINTRESOURCE(IDD_MAIN_FRAME), NULL, ( DLGPROC ) DlgProc); //Ouverture de la boite de dialogue

return (0);
}

J'ai une dll qui de trouve dans\Release ,et la librairi y est aussi.

J'espere que quelqu'un pourrai m'aider...


Mr.X (et la vie continue...)
vendredi 12 décembre 2003 à 19:51:00 | Re : Probleme : error LNK2001: unresolved external symbol...

ymca2003

L'erreur du linker vient du fait que WndProc est déclaré mais pas défini.

Si tu ne créé pas de fenêtres avec CreateWindow, inutile de créer une classe de fenêtre (RegisterClass()).
Comme tu utilise simplement DialogBox, le traitement des messages se fait dans DlgProc.

supprime donc cette partie :

//définition des paramètre de la classe fenêtre
fenetre.style = CS_DBLCLKS | CS_OWNDC | CS_HREDRAW | CS_VREDRAW;
fenetre.lpfnWndProc = WindowProc;
fenetre.cbClsExtra = 0;
fenetre.cbWndExtra = 0;
fenetre.hInstance = hInstance;
fenetre.hIcon = LoadIcon(hInst, NULL);//MAKEINTRESOURCE(IDI_APPICON)
fenetre.hCursor = LoadCursor(NULL, IDC_ARROW);
fenetre.hbrBackground = (struct HBRUSH__ *)GetStockObject(WHITE_BRUSH);
fenetre.lpszMenuName = NULL;
fenetre.lpszClassName = "Classe fenetre";

// enregistrer la classe fenêtre
if (!RegisterClass(&fenetre)) return(0);


Enfin, l'appel à exit est à proscrire dans une appli Win32. Pour fermer la boîte de dialog : EndDialog() qui aura pour conséquence de retourner une valeur à DialogBox et ensuite finir le WinMain.
vendredi 12 décembre 2003 à 20:15:50 | Re : Probleme : error LNK2001: unresolved external symbol...

Mr.X

Merci, je le savais ;) mais je n'ai pas tjr le coup d'oeil d'autant plus qu'un autre programme cree sur la meme base marcher.
Efin merci quand meme :)

Mr.X (et la vie continue...)


Cette discussion est classée dans : fenetre, include, hwnd, wparam, hinstance


Répondre à ce message

Sujets en rapport avec ce message

Pb sur un ptit bout de prog en DirectX.... [ par Haldwin ] Salut a tous....Voila j'ai deux ptits pbs quand je lance cette appli ci-dessous... (VC++)La première est q'une fois sur deux ma variable hWnd apres le Dll Visual Aide [ par TheMaster ] Salut!j'ai un probleme, j'ai créer un logiciel permettant de visualiser des images.Les images sont stocke en ressource dans un dll.Mais je n'arrive pa PB EditBox [ par SfyLer ] Bonjour à tous !J'ai créé un scanner de port sous dos, et j'ai commencer a le faire sous windows, j'ai presque fini le seul pb que j'ai c'est que je n crer "dialog non modal" [ par comfm ] BonjourJe n'arrive pas à créer une boite de dialogue non modal, c'est à dire celle qui permet d'être tjs affichée et on peut cliquer derriere sans pro ouvrir une 2eme fenetre avec editbox et tout et tout, c'est possible? [ par Arnaud16022 ] Hello tout le monde!je voudrais mettre un bouton dans une fenetre (ca c'est facile), mais seulement quand on clique dessus un autre fenetre s'ouvre, a Trouver le hWnd d'une fenetre avec un hInstance [ par PinkRabbit84 ] Comme puis-je faire pour avoir le HWND de la fenetre principale avec le HINSTANCE de l'appMerci d'avancePinkRabbit84 dialogbox ??? [ par supergrey ] Bonjour tout le monde je voudrai savoir pourquoi ce programme n'affiche rien.//ca commence ici#include "stdafx.h"#include "stdio.h"#include "iostream. Gestion des evenements Win32 [ par zibo3 ] J'aimerai créer un événement appuyer sur une touche de type F3 mais cet événement doit se réaliser à chaque fois que j'appuie sur cette touche quelque Comment créer un Bouton [ par new0staff ] Bonjour!Le programme ci-dessous crée et affiche une fenêtre simple. Ce que je souhaite faire, c'est rajouter un Bouton à cette fenêtre.Ce qui ne joue ma fenetre ne s'affiche pas [ par graall ] Bonjour,j'un pb avec un code :#include LRESULT CALLBACK WindowProcedure (HWND, UINT, WPARAM, LPARAM); HWND hWnd; const HBRUSH hBackground = CreateSol


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,608 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales