Prob avec dll et lib

Signaler
Messages postés
234
Date d'inscription
mardi 31 décembre 2002
Statut
Membre
Dernière intervention
30 juillet 2008
-
Messages postés
234
Date d'inscription
mardi 31 décembre 2002
Statut
Membre
Dernière intervention
30 juillet 2008
-
voila mon prob:
j'ai inséré le lib dan le projet, j'ai indiqué:
extern "C" __declspec(dllimport) int fonction(char*);
fonction(texte);
mais lorsque je veux le compiler il me sort:

"linkage specification must be at global scope" et
" 'texte' : undeclared identifier"

Pouvez vous m'aider???
merci d'avance...

8 réponses

Messages postés
949
Date d'inscription
mardi 2 octobre 2001
Statut
Membre
Dernière intervention
8 juillet 2006

Que représente "fonction(texte);" ? Tu l'as mis tel quel dans le code ?

Kaid - kaid.fr.st
Messages postés
234
Date d'inscription
mardi 31 décembre 2002
Statut
Membre
Dernière intervention
30 juillet 2008

je sais pas vraiment a koi ser ce truc (j'débute) je croit sa te permet de te servire de de la variable "texte" qui se trouve dans le dll...
Messages postés
949
Date d'inscription
mardi 2 octobre 2001
Statut
Membre
Dernière intervention
8 juillet 2006

Non, pas du tout, c'est de la que vient ton erreur.
Est ce que tu veux utiliser une variable déclarée dans la DLL ? Dans quel but ?

Kaid - kaid.fr.st
Messages postés
234
Date d'inscription
mardi 31 décembre 2002
Statut
Membre
Dernière intervention
30 juillet 2008

j'veux utiliser une variable qui est déclaré dans le dll pour que aprés avoir donner la valeur de "texte" le script du dll se déclache. c'est a dir, par exemple:
texte = "truc"; //(dans l'exe) ya 1 faute mé j'écrit sa vite fais
printf("%s machin",texte); //qui se trouve dans le dll.
Messages postés
949
Date d'inscription
mardi 2 octobre 2001
Statut
Membre
Dernière intervention
8 juillet 2006

Et pourquoi ne pas utiliser une fonction.

Dans la DLL:

DECLARATION_EXPORT void affiche(char* texte)
{
printf("%s machin",texte); //qui se trouve dans le dll.
}

Dans l'Exe:

affiche("truc");

Kaid - kaid.fr.st
Messages postés
234
Date d'inscription
mardi 31 décembre 2002
Statut
Membre
Dernière intervention
30 juillet 2008

Pour la bonne et simple réson que mon compilateur me sort 3 error (vc++6) sur:
DECLARATION_EXPORT void affiche(char* texte)
donc j'le compile avec:
extern "C" __declspec(dllexport) int affichage(char* texte)
Messages postés
949
Date d'inscription
mardi 2 octobre 2001
Statut
Membre
Dernière intervention
8 juillet 2006

Enfin DECLARATION_EXPORT, c'était une macro, qu'il fallait remplacer par la syntaxe exacte (extern "C" __declspec(dllexport)). Ce que tu as fais après.

Kaid - kaid.fr.st
Messages postés
234
Date d'inscription
mardi 31 décembre 2002
Statut
Membre
Dernière intervention
30 juillet 2008

c'est se que j'ai fais dans mon dll mais lorsque je mais
fonction("truc");
il me sort que truc n'est pas déclaré alors qu'il est dan sle dll...