dll in dll kompilieren
-
Hi,
kann ich eine DLL in eine DLL mit reinkompilieren?
Ich bekomme da immer unresolved externals als Meldung...
Gruss, Tobias
-
Du meinst in einer Dll Funktionen aus einer Dll nutzen.
Du musst in dem Dll Projekt auch die .lib Dateien hinzufügen.
-
warum bekomme ich dann trotzdem folgende Meldung:
error LNK2001: unresolved external symbol __pctype
-
Sollen wir jetzt hellsehen.
DLL in DLL funktioniert.
Mache ich sogar bei Dynamisch geladenen Plugins welche meine Datenbank-Dll drinnen haben.
Wenn du die ´LIB und die Header hast dann nur deinem Projekt hinzufügen.
Solltest du solche Fehlermeldungen bekommen dann würdes du sie auch bei einer normalen EXE bekommen.
-
ja, die Sache ist nur:
Diese kommen definitiv bei der Exe nicht...
ich hab das zuerst als Exe gemacht!Was hab ich dann geändert:
Neues Projekt (DLL mit Wizard), den Quellcode darein.
ich hab AFX_... eingefügt und die Stdafx.h eingebunden.
Weiter hab ich die main gelöscht...und jetzt hab ich die Meldung...
Vielleicht ist da was anderes falsch?
-
Poste mal den Source sonst kann jeder nur Raten.
-
Hi Tom,
würde ich prinzipiell schon gerne, aber sind 60Kbyte...Aber:
ich hab
#include "StdAfx.h"
im CPP-File eingefügt.
und die Klassendefinition zu
class AFX_EXT_CLASS Connect {
geändert...
Das war es auch schon...Unter Project-Settings-Link hab ich die Library eingebunden, wie in der Exe auch...
Ansonsten ist alles wie in dem exe-projekt...
Gruss, Tobias
-
dann poste einen link zum projekt zm runterladen und ic schaue es mir morgen an.
Ich empfehle dir aber das TUT von VC++ 6 in 21 Tagen durchzugehen um eine dll zu erstellen und dann deine funktionen in dieser in eine Klasse zu packen.
Vieleicht fehlt dir der DLL Einstiegspunkt.
Die Fehlermeldung sagt das die Funktion pctype in keiner der verlinkten bybliotheken gefunden wurde[ Dieser Beitrag wurde am 24.02.2003 um 21:59 Uhr von Unix-Tom editiert. ]
[ Dieser Beitrag wurde am 24.02.2003 um 22:00 Uhr von Unix-Tom editiert. ]
[ Dieser Beitrag wurde am 24.02.2003 um 22:03 Uhr von Unix-Tom editiert. ]
-
ich hab mal was nachgesehen... und glaube es liegt an folgendem:
Ich binde in mein DLL-Projekt eine andere DLL mit Header ein.
Von dieser kommt auch die Fehlermeldung.Kann es irgendwie sein, dass ich diese Header-Datei auch anpassen muss, oder sowas ähnliches?
Gruss, Tobias
-
die header musst du genauso anpassen wie jede andere header welche für eine lib bestimmt ist. sie muss di Funktionen aus der dll importieren.
wenn du MFC verwednest dann muss in jedem FunktionsrumpfAFX_MANAGE_STATE(AfxGetStaticModuleState());
stehen.
-
jetzt wirds gaga...
Also:
Mein Exe-Projekt eine leere Anwendung.Jetzt möchte ich eine Applikation mit dem MFC-Application-Wizard erstellen.
Darin wollte ich als Test eine DLL einbinden.
Die Header-Datei für die DLL liegt in C vor, nicht in C++.Dafür hab ich dann folgendes gemacht:
- Die *.h-Datei eingebunden
- Die .dll eingebunden (über Add To Project...)
- in irgendeine cpp-Datei inlcude ".h" eingetragenMehr hab ich nicht gemacht!
Allerdings bekomme ich dadurch einen Fehler:
fatal error C1083: Cannot open include file: 'pdflib.h': No such file or directoryWie kann ich das verstehen?
Verstehe es nämlich gerade überhaupt nicht!
Hab echt nur diese 3 Schritte vollzogen, sonst nix!Gruss, Tobias