[DLL windows]comment inclure une dll dans une dll?
7 réponses
giova
Bonjour.
Je cherche a faire une dll qui servent d'interface en C pour une autre
dll qui elle est en C++
je suis debutant, j'arrive a faire une dll basique, a l'importer dans du
code sous visual et donc l'utiliser sans probleme en employant la
methode suivante :
#include "madll.h"
propriete du projet, editeur de liens externes, ressource supplementaire
: madll.lib
Mais si je fais ca dans ma nouvelle dll servant d'interface j'obtiens
toute une floppée d'erreurs a la compilation, et la vraiment je bloque.
quelqu'un a t'il une idée du probleme?
Pour resumer j'aurais pu demander comment faire une dll classique qui
inclue la dll gdiplus car c'est elle qui est concernée.
je cherche egalement un tutorial serieux et complet sur comment faire
des dll. J'ai deja consulté msdn, qui offre une presentation avancée des
dll, mais n'explique pas comment faire :/
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Remi Thomas
giova wrote:
Bonjour.
Je cherche a faire une dll qui servent d'interface en C pour une autre dll qui elle est en C++
je suis debutant, j'arrive a faire une dll basique, a l'importer dans du code sous visual et donc l'utiliser sans probleme en employant la methode suivante :
#include "madll.h"
propriete du projet, editeur de liens externes, ressource supplementaire
madll.lib
Mais si je fais ca dans ma nouvelle dll servant d'interface j'obtiens toute une floppée d'erreurs a la compilation, et la vraiment je bloque. quelqu'un a t'il une idée du probleme?
Pour resumer j'aurais pu demander comment faire une dll classique qui inclue la dll gdiplus car c'est elle qui est concernée.
je cherche egalement un tutorial serieux et complet sur comment faire des dll. J'ai deja consulté msdn, qui offre une presentation avancée des dll, mais n'explique pas comment faire :/
merci d'avance pour votre aide.
Bonjour, Le plus simple est de se laisser guider par le wizard de Visual Studio qui te fabrique un squelette assez propre de DLL
Rémi
-- Rémi Thomas - MVP Visual Studio .NET Développeur Windows indépendant http://www.xtware.com/cv
giova wrote:
Bonjour.
Je cherche a faire une dll qui servent d'interface en C pour une autre
dll qui elle est en C++
je suis debutant, j'arrive a faire une dll basique, a l'importer dans
du code sous visual et donc l'utiliser sans probleme en employant la
methode suivante :
#include "madll.h"
propriete du projet, editeur de liens externes, ressource
supplementaire
madll.lib
Mais si je fais ca dans ma nouvelle dll servant d'interface j'obtiens
toute une floppée d'erreurs a la compilation, et la vraiment je
bloque. quelqu'un a t'il une idée du probleme?
Pour resumer j'aurais pu demander comment faire une dll classique qui
inclue la dll gdiplus car c'est elle qui est concernée.
je cherche egalement un tutorial serieux et complet sur comment faire
des dll. J'ai deja consulté msdn, qui offre une presentation avancée
des dll, mais n'explique pas comment faire :/
merci d'avance pour votre aide.
Bonjour,
Le plus simple est de se laisser guider par le wizard de Visual Studio qui
te fabrique un squelette assez propre de DLL
Rémi
--
Rémi Thomas - MVP Visual Studio .NET
Développeur Windows indépendant
http://www.xtware.com/cv
Je cherche a faire une dll qui servent d'interface en C pour une autre dll qui elle est en C++
je suis debutant, j'arrive a faire une dll basique, a l'importer dans du code sous visual et donc l'utiliser sans probleme en employant la methode suivante :
#include "madll.h"
propriete du projet, editeur de liens externes, ressource supplementaire
madll.lib
Mais si je fais ca dans ma nouvelle dll servant d'interface j'obtiens toute une floppée d'erreurs a la compilation, et la vraiment je bloque. quelqu'un a t'il une idée du probleme?
Pour resumer j'aurais pu demander comment faire une dll classique qui inclue la dll gdiplus car c'est elle qui est concernée.
je cherche egalement un tutorial serieux et complet sur comment faire des dll. J'ai deja consulté msdn, qui offre une presentation avancée des dll, mais n'explique pas comment faire :/
merci d'avance pour votre aide.
Bonjour, Le plus simple est de se laisser guider par le wizard de Visual Studio qui te fabrique un squelette assez propre de DLL
Rémi
-- Rémi Thomas - MVP Visual Studio .NET Développeur Windows indépendant http://www.xtware.com/cv
giova
Remi Thomas a écrit :
giova wrote:
Bonjour.
Je cherche a faire une dll qui servent d'interface en C pour une autre dll qui elle est en C++
je suis debutant, j'arrive a faire une dll basique, a l'importer dans du code sous visual et donc l'utiliser sans probleme en employant la methode suivante :
#include "madll.h"
propriete du projet, editeur de liens externes, ressource supplementaire
madll.lib
Mais si je fais ca dans ma nouvelle dll servant d'interface j'obtiens toute une floppée d'erreurs a la compilation, et la vraiment je bloque. quelqu'un a t'il une idée du probleme?
Pour resumer j'aurais pu demander comment faire une dll classique qui inclue la dll gdiplus car c'est elle qui est concernée.
je cherche egalement un tutorial serieux et complet sur comment faire des dll. J'ai deja consulté msdn, qui offre une presentation avancée des dll, mais n'explique pas comment faire :/
merci d'avance pour votre aide.
Bonjour, Le plus simple est de se laisser guider par le wizard de Visual Studio qui te fabrique un squelette assez propre de DLL
Rémi
oui c'est ce que je fais, mais ca ne me répond pas a ma question, ou alorzs on ne parle pas de la meme chose, moi je fais nouveau projet win32 console, et je clique sur le bouton radio dll, et voila il me fait le squelette de ma dll.
mais apres comment fait on pour importer une dll dans cette dll? Je tourne en rond depuis vendredi j'en peux plus :'(
Remi Thomas a écrit :
giova wrote:
Bonjour.
Je cherche a faire une dll qui servent d'interface en C pour une autre
dll qui elle est en C++
je suis debutant, j'arrive a faire une dll basique, a l'importer dans
du code sous visual et donc l'utiliser sans probleme en employant la
methode suivante :
#include "madll.h"
propriete du projet, editeur de liens externes, ressource
supplementaire
madll.lib
Mais si je fais ca dans ma nouvelle dll servant d'interface j'obtiens
toute une floppée d'erreurs a la compilation, et la vraiment je
bloque. quelqu'un a t'il une idée du probleme?
Pour resumer j'aurais pu demander comment faire une dll classique qui
inclue la dll gdiplus car c'est elle qui est concernée.
je cherche egalement un tutorial serieux et complet sur comment faire
des dll. J'ai deja consulté msdn, qui offre une presentation avancée
des dll, mais n'explique pas comment faire :/
merci d'avance pour votre aide.
Bonjour,
Le plus simple est de se laisser guider par le wizard de Visual Studio qui
te fabrique un squelette assez propre de DLL
Rémi
oui c'est ce que je fais, mais ca ne me répond pas a ma question, ou
alorzs on ne parle pas de la meme chose, moi je fais nouveau projet
win32 console, et je clique sur le bouton radio dll, et voila il me fait
le squelette de ma dll.
mais apres comment fait on pour importer une dll dans cette dll? Je
tourne en rond depuis vendredi j'en peux plus :'(
Je cherche a faire une dll qui servent d'interface en C pour une autre dll qui elle est en C++
je suis debutant, j'arrive a faire une dll basique, a l'importer dans du code sous visual et donc l'utiliser sans probleme en employant la methode suivante :
#include "madll.h"
propriete du projet, editeur de liens externes, ressource supplementaire
madll.lib
Mais si je fais ca dans ma nouvelle dll servant d'interface j'obtiens toute une floppée d'erreurs a la compilation, et la vraiment je bloque. quelqu'un a t'il une idée du probleme?
Pour resumer j'aurais pu demander comment faire une dll classique qui inclue la dll gdiplus car c'est elle qui est concernée.
je cherche egalement un tutorial serieux et complet sur comment faire des dll. J'ai deja consulté msdn, qui offre une presentation avancée des dll, mais n'explique pas comment faire :/
merci d'avance pour votre aide.
Bonjour, Le plus simple est de se laisser guider par le wizard de Visual Studio qui te fabrique un squelette assez propre de DLL
Rémi
oui c'est ce que je fais, mais ca ne me répond pas a ma question, ou alorzs on ne parle pas de la meme chose, moi je fais nouveau projet win32 console, et je clique sur le bouton radio dll, et voila il me fait le squelette de ma dll.
mais apres comment fait on pour importer une dll dans cette dll? Je tourne en rond depuis vendredi j'en peux plus :'(
Cyrille Szymanski
> alorzs on ne parle pas de la meme chose, moi je fais nouveau projet win32 console, et je clique sur le bouton radio dll, et voila il me fait le squelette de ma dll.
mais apres comment fait on pour importer une dll dans cette dll? Je tourne en rond depuis vendredi j'en peux plus :'(
C'est comme pour un EXE classique.
Personne ne peut te répondre vu le peu d'info concret donné. Quelques pistes : * donner les messages d'erreur * donner un code minimal reproduisant l'erreur * citer des portions de son code * insérez votre idée ici
-- cns
> alorzs on ne parle pas de la meme chose, moi je fais nouveau projet
win32 console, et je clique sur le bouton radio dll, et voila il me fait
le squelette de ma dll.
mais apres comment fait on pour importer une dll dans cette dll? Je
tourne en rond depuis vendredi j'en peux plus :'(
C'est comme pour un EXE classique.
Personne ne peut te répondre vu le peu d'info concret donné.
Quelques pistes :
* donner les messages d'erreur
* donner un code minimal reproduisant l'erreur
* citer des portions de son code
* insérez votre idée ici
> alorzs on ne parle pas de la meme chose, moi je fais nouveau projet win32 console, et je clique sur le bouton radio dll, et voila il me fait le squelette de ma dll.
mais apres comment fait on pour importer une dll dans cette dll? Je tourne en rond depuis vendredi j'en peux plus :'(
C'est comme pour un EXE classique.
Personne ne peut te répondre vu le peu d'info concret donné. Quelques pistes : * donner les messages d'erreur * donner un code minimal reproduisant l'erreur * citer des portions de son code * insérez votre idée ici
-- cns
giova
Cyrille Szymanski a écrit :
alorzs on ne parle pas de la meme chose, moi je fais nouveau projet win32 console, et je clique sur le bouton radio dll, et voila il me fait le squelette de ma dll.
mais apres comment fait on pour importer une dll dans cette dll? Je tourne en rond depuis vendredi j'en peux plus :'(
C'est comme pour un EXE classique.
Personne ne peut te répondre vu le peu d'info concret donné. Quelques pistes : * donner les messages d'erreur * donner un code minimal reproduisant l'erreur * citer des portions de son code * insérez votre idée ici
bon, j'ai : madll.h madll.cpp stdafx.cpp stdafx.h
si dans madll.h je fais un #include "gdiplus.h" et que dans les propriétés du projet , liens externe supplementaire je met gdiplus.lib (comme je vais pour un exe normal où ca fonctionne parfaitement bien) et bien j'obtiens tellement d'erreur de compilation, que le compilateur s'arrette (re :'( )
Cyrille Szymanski a écrit :
alorzs on ne parle pas de la meme chose, moi je fais nouveau projet
win32 console, et je clique sur le bouton radio dll, et voila il me fait
le squelette de ma dll.
mais apres comment fait on pour importer une dll dans cette dll? Je
tourne en rond depuis vendredi j'en peux plus :'(
C'est comme pour un EXE classique.
Personne ne peut te répondre vu le peu d'info concret donné.
Quelques pistes :
* donner les messages d'erreur
* donner un code minimal reproduisant l'erreur
* citer des portions de son code
* insérez votre idée ici
bon, j'ai :
madll.h
madll.cpp
stdafx.cpp
stdafx.h
si dans madll.h je fais un #include "gdiplus.h" et que dans les
propriétés du projet , liens externe supplementaire je met gdiplus.lib
(comme je vais pour un exe normal où ca fonctionne parfaitement bien) et
bien j'obtiens tellement d'erreur de compilation, que le compilateur
s'arrette (re :'( )
alorzs on ne parle pas de la meme chose, moi je fais nouveau projet win32 console, et je clique sur le bouton radio dll, et voila il me fait le squelette de ma dll.
mais apres comment fait on pour importer une dll dans cette dll? Je tourne en rond depuis vendredi j'en peux plus :'(
C'est comme pour un EXE classique.
Personne ne peut te répondre vu le peu d'info concret donné. Quelques pistes : * donner les messages d'erreur * donner un code minimal reproduisant l'erreur * citer des portions de son code * insérez votre idée ici
bon, j'ai : madll.h madll.cpp stdafx.cpp stdafx.h
si dans madll.h je fais un #include "gdiplus.h" et que dans les propriétés du projet , liens externe supplementaire je met gdiplus.lib (comme je vais pour un exe normal où ca fonctionne parfaitement bien) et bien j'obtiens tellement d'erreur de compilation, que le compilateur s'arrette (re :'( )
giova
giova a écrit :
Cyrille Szymanski a écrit :
alorzs on ne parle pas de la meme chose, moi je fais nouveau projet win32 console, et je clique sur le bouton radio dll, et voila il me fait le squelette de ma dll.
mais apres comment fait on pour importer une dll dans cette dll? Je tourne en rond depuis vendredi j'en peux plus :'(
C'est comme pour un EXE classique.
Personne ne peut te répondre vu le peu d'info concret donné. Quelques pistes : * donner les messages d'erreur * donner un code minimal reproduisant l'erreur * citer des portions de son code * insérez votre idée ici
bon, j'ai : madll.h madll.cpp stdafx.cpp stdafx.h
si dans madll.h je fais un #include "gdiplus.h" et que dans les propriétés du projet , liens externe supplementaire je met gdiplus.lib (comme je vais pour un exe normal où ca fonctionne parfaitement bien) et bien j'obtiens tellement d'erreur de compilation, que le compilateur s'arrette (re :'( )
je prepare un code exemple.
giova a écrit :
Cyrille Szymanski a écrit :
alorzs on ne parle pas de la meme chose, moi je fais nouveau projet
win32 console, et je clique sur le bouton radio dll, et voila il me
fait le squelette de ma dll.
mais apres comment fait on pour importer une dll dans cette dll? Je
tourne en rond depuis vendredi j'en peux plus :'(
C'est comme pour un EXE classique.
Personne ne peut te répondre vu le peu d'info concret donné.
Quelques pistes :
* donner les messages d'erreur
* donner un code minimal reproduisant l'erreur
* citer des portions de son code
* insérez votre idée ici
bon, j'ai :
madll.h
madll.cpp
stdafx.cpp
stdafx.h
si dans madll.h je fais un #include "gdiplus.h" et que dans les
propriétés du projet , liens externe supplementaire je met gdiplus.lib
(comme je vais pour un exe normal où ca fonctionne parfaitement bien) et
bien j'obtiens tellement d'erreur de compilation, que le compilateur
s'arrette (re :'( )
alorzs on ne parle pas de la meme chose, moi je fais nouveau projet win32 console, et je clique sur le bouton radio dll, et voila il me fait le squelette de ma dll.
mais apres comment fait on pour importer une dll dans cette dll? Je tourne en rond depuis vendredi j'en peux plus :'(
C'est comme pour un EXE classique.
Personne ne peut te répondre vu le peu d'info concret donné. Quelques pistes : * donner les messages d'erreur * donner un code minimal reproduisant l'erreur * citer des portions de son code * insérez votre idée ici
bon, j'ai : madll.h madll.cpp stdafx.cpp stdafx.h
si dans madll.h je fais un #include "gdiplus.h" et que dans les propriétés du projet , liens externe supplementaire je met gdiplus.lib (comme je vais pour un exe normal où ca fonctionne parfaitement bien) et bien j'obtiens tellement d'erreur de compilation, que le compilateur s'arrette (re :'( )
je prepare un code exemple.
Aurélien REGAT-BARREL
> si dans madll.h je fais un #include "gdiplus.h" et que dans les propriétés du projet , liens externe supplementaire je met gdiplus.lib (comme je vais pour un exe normal où ca fonctionne parfaitement bien) et bien j'obtiens tellement d'erreur de compilation, que le compilateur s'arrette (re :'( )
Tu est bien en C++ ? (extension cpp dans le fichier qui inclut gdiplus).
Je cherche a faire une dll qui servent d'interface en C pour une autre dll qui elle est en C++
Tu peux écrire en C++ ta dll. Ce qui compte, c'est la manière dont tu t'y prends pour exporter les symboles. Ecris les fonctions que tu veux rendre utilisables en C et défini les comme extern "C". Typiquement :
#ifdef __cplusplus extern "C" { #endif
/* tes fonctions */
#ifdef __cplusplus } #endif
> si dans madll.h je fais un #include "gdiplus.h" et que dans les
propriétés du projet , liens externe supplementaire je met gdiplus.lib
(comme je vais pour un exe normal où ca fonctionne parfaitement bien) et
bien j'obtiens tellement d'erreur de compilation, que le compilateur
s'arrette (re :'( )
Tu est bien en C++ ? (extension cpp dans le fichier qui inclut gdiplus).
Je cherche a faire une dll qui servent d'interface en C pour une autre
dll qui elle est en C++
Tu peux écrire en C++ ta dll. Ce qui compte, c'est la manière dont tu t'y
prends pour exporter les symboles. Ecris les fonctions que tu veux rendre
utilisables en C et défini les comme extern "C".
Typiquement :
> si dans madll.h je fais un #include "gdiplus.h" et que dans les propriétés du projet , liens externe supplementaire je met gdiplus.lib (comme je vais pour un exe normal où ca fonctionne parfaitement bien) et bien j'obtiens tellement d'erreur de compilation, que le compilateur s'arrette (re :'( )
Tu est bien en C++ ? (extension cpp dans le fichier qui inclut gdiplus).
Je cherche a faire une dll qui servent d'interface en C pour une autre dll qui elle est en C++
Tu peux écrire en C++ ta dll. Ce qui compte, c'est la manière dont tu t'y prends pour exporter les symboles. Ecris les fonctions que tu veux rendre utilisables en C et défini les comme extern "C". Typiquement :
#ifdef __cplusplus extern "C" { #endif
/* tes fonctions */
#ifdef __cplusplus } #endif
giova
Aurélien REGAT-BARREL wrote:
si dans madll.h je fais un #include "gdiplus.h" et que dans les propriétés du projet , liens externe supplementaire je met gdiplus.lib (comme je vais pour un exe normal où ca fonctionne parfaitement bien) et bien j'obtiens tellement d'erreur de compilation, que le compilateur s'arrette (re :'( )
Tu est bien en C++ ? (extension cpp dans le fichier qui inclut gdiplus).
Je cherche a faire une dll qui servent d'interface en C pour une autre dll qui elle est en C++
Tu peux écrire en C++ ta dll. Ce qui compte, c'est la manière dont tu t'y prends pour exporter les symboles. Ecris les fonctions que tu veux rendre utilisables en C et défini les comme extern "C". Typiquement :
#ifdef __cplusplus extern "C" { #endif
/* tes fonctions */
#ifdef __cplusplus } #endif
merci probleme résolu.
Aurélien REGAT-BARREL wrote:
si dans madll.h je fais un #include "gdiplus.h" et que dans les
propriétés du projet , liens externe supplementaire je met gdiplus.lib
(comme je vais pour un exe normal où ca fonctionne parfaitement bien) et
bien j'obtiens tellement d'erreur de compilation, que le compilateur
s'arrette (re :'( )
Tu est bien en C++ ? (extension cpp dans le fichier qui inclut gdiplus).
Je cherche a faire une dll qui servent d'interface en C pour une autre
dll qui elle est en C++
Tu peux écrire en C++ ta dll. Ce qui compte, c'est la manière dont tu t'y
prends pour exporter les symboles. Ecris les fonctions que tu veux rendre
utilisables en C et défini les comme extern "C".
Typiquement :
si dans madll.h je fais un #include "gdiplus.h" et que dans les propriétés du projet , liens externe supplementaire je met gdiplus.lib (comme je vais pour un exe normal où ca fonctionne parfaitement bien) et bien j'obtiens tellement d'erreur de compilation, que le compilateur s'arrette (re :'( )
Tu est bien en C++ ? (extension cpp dans le fichier qui inclut gdiplus).
Je cherche a faire une dll qui servent d'interface en C pour une autre dll qui elle est en C++
Tu peux écrire en C++ ta dll. Ce qui compte, c'est la manière dont tu t'y prends pour exporter les symboles. Ecris les fonctions que tu veux rendre utilisables en C et défini les comme extern "C". Typiquement :