DLL avec stdcall

gmeha Messages postés 6 Date d'inscription vendredi 7 novembre 2008 Statut Membre Dernière intervention 1 décembre 2008 - 1 déc. 2008 à 13:13
gmeha Messages postés 6 Date d'inscription vendredi 7 novembre 2008 Statut Membre Dernière intervention 1 décembre 2008 - 1 déc. 2008 à 16:05
bonjour

j'ai ecrit un DLL programme en utilisant stdcall je l'ai compile ,il y a eu aucune faute.

#include "stdafx.h"
#include <windows.h>
#include <stdio.h>
extern "C" __declspec( dllexport ) int  _stdcall f1(int a , int b);

BOOL WINAPI DllMain(HINSTANCE Hinstance,DWORD Reason,LPVOID Reserved)
{
return TRUE;
}

int _stdcall f1(int a , int b )
{
    int summe = a + b ;
    return summe;
}

mais si j'appelle cet DLL avec ce source code :

#include "stdafx.h"
#include <windows.h>
#include

int __stdcall f1(int a , int b );

using namespace std;

int main()
{
    int resultat = f1(1,2);
        cout<<"Resultat : "<<resultat<<endl;

    system("pause");
    return 0;
}

je recois 2 erreures :

 error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""int __stdcall f1(int,int)" (?f1@@YGHHH@Z)" in Funktion "_main".
 fatal error LNK1120: 1 nicht aufgelöste externe Verweise.

est ce que quelqu'un peut m'aider.

merci

6 réponses

fregolo52 Messages postés 1114 Date d'inscription mercredi 15 juin 2011 Statut Membre Dernière intervention 6 mai 2021 4
1 déc. 2008 à 13:48
salut,

es-tu obligé de mettre : extern "C".
Sinon met : extern "C" int __stdcall f1(int a , int b ); dans le programme appelant.
gmeha Messages postés 6 Date d'inscription vendredi 7 novembre 2008 Statut Membre Dernière intervention 1 décembre 2008
1 déc. 2008 à 14:48
merci beaucoup ca marché
j'ai effacé extern "C" .
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
1 déc. 2008 à 15:29
Le contraire, c'est A REMETTRE. Une DLL doit toujours exporter avec déco standard C des fonctions sinon ne sera employable QUE avec exe fait par le même compilo.

ciao...
BruNews, MVP VC++
gmeha Messages postés 6 Date d'inscription vendredi 7 novembre 2008 Statut Membre Dernière intervention 1 décembre 2008
1 déc. 2008 à 15:54
ok sinon je peux appeler cet DLL a partir d'une autre language par example Basic ...?

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
1 déc. 2008 à 16:03
oui si tu fais comme dit plus haut.

ciao...
BruNews, MVP VC++
gmeha Messages postés 6 Date d'inscription vendredi 7 novembre 2008 Statut Membre Dernière intervention 1 décembre 2008
1 déc. 2008 à 16:05
ok merci a tous .
Rejoignez-nous