-
DLL - Utilisation
Bonjour tout le monde !
Je suis un peu beaucoup largue par l'utilisation des DLL, et apres quelques recherches sur le net, je le suis encore plus :(
Je cree un nouveau projet Win32, et avec le code de base (le truc qui fait une fenetre vide), et pour utiliser ma belle .dll toute vide de test, j'ajoute un #using (methode que j'ai vu sur le net).
Soucis 1er : Message d'erreur, je dois ajouter le flag /clr.
Soucis 2nd : si j'ajoute ce fameux flag, y'a une incompatibilite avec le /RTC1.
Quelqu'un aurait il une solution pas trop compliquee...?
Car j'ai pu voir quelques solutions un poil bizarres mais impossible de les mettre en place (quiche powered).
Merci d'avance :)
-
#using c'est pour du C++ / CLI, c'est pourquoi il te demande l'option /clr.
En C++ natif il faut lier avec le .lib qui va avec la dll, ou bien charger les fonctions explicitement (LoadLibrary sous Window, dlopen sous Linux, ...) si tu ne possèdes pas de .lib.
-
Juste une petite question...
Quand on link dynamiquement avec un .so sous linux avec g++, on linke bien directement avec le .so? (et non avec le .a comme sous windows on dirait).
Si oui, pourquoi cette différence?
-
Sous Linux le fonctionnement est le même. On lie avec le .a pour une liaison implicite, on charge le .so avec dlopen pour une liaison explicite.
-
Tu es sur...?
Parceque personnelement quand je développe une bibliothèque sous linux, je ne génère qu'un .so. Et pourtant je me sert de de cette bibliothèque dans d'autre executable... En liant avec -lMaBibliotheque avec g++, je me demande bien comment il trouve le .a puisque il n'y en a pas :?