2013-10-04 5 views
-1

J'ai 3 fichiers dll et 3 bibliothèques d'importation correspondantes générées dans mingW. J'ai lié ces 3 DLL dans une DLL (disons main.dll) en utilisant LINK. Si j'ouvre ces 3 dll individuellement en utilisant le dépendant de la dépendance, il ne montre aucune erreur. Si j'ouvre main.dll j'obtiens des problèmes de dépendance et obtiens l'erreur suivante: Erreur: Au moins un module a une importation non résolue due à une fonction d'exportation manquante dans un module implicitement dépendant.lier mingw dll avec windows dll

Merci, Manoj

+0

Pouvez-vous donner plus de détails comment liez-vous 3 bibliothèques d'importation en une? Voulez-vous dire que main.dll dépend de ces 3 dll, ou vous avez mélangé ces 3 codes DLL dans une DLL plus grande? – Vitaliy

+0

J'ai un.dll, two.dll et three.dll et les one.lib, two.lib et three.lib correspondants. Je lie ces 3 DLL pour produire main.dll en utilisant la commande de liaison (par exemple: lien one.lib two.lib three.lib main.o/out:main.dll) – user2841186

Répondre

1

Résolu par moi-même: J'ai obtenu la solution pour le problème ci-dessus. Avant de lier les dll, nous devons générer les fichiers .def, puis lier les bibliothèques d'importation. Cela a fonctionné pour moi. Le lien a fourni la solution: mingw.org/wiki/MSVC_and_MinGW_DLLs

0

Eh bien, vous avez lié que les bibliothèques d'importation ensemble. Cela lie maintenant les DLL réelles. Ne fonctionnerait pas, de toute façon: les trois DLL ont chacun leurs propres DllMain. Comment pensez-vous LINK va choisir entre eux?

+0

J'ai eu la solution pour le problème ci-dessus. Avant de lier les dll, nous devons générer les fichiers .def, puis lier les bibliothèques d'importation. Cela a fonctionné pour moi. Le lien a fourni la solution: http://www.mingw.org/wiki/MSVC_and_MinGW_DLLs – user2841186