Ich bekomme wirklich seltsames Verhalten in einer der DLLs meiner C++-App. Es funktioniert und lädt einwandfrei, bis ich eine einzige Datei in der Hauptdatei der DLL mit #include einbinde. Dann erhalte ich diese Fehlermeldung:
Komponenten werden aus D:/Targets/bin/MatrixWorkset.dll geladen Konnte "D:/Targets/bin/MatrixWorkset.dll" nicht laden: Kann die Bibliothek MatrixWorkset nicht laden: Ungültiger Zugriff auf Speicherort.
Jetzt habe ich den Code durchsucht und gegoogelt und kann nicht herausfinden, was passiert. Bis jetzt war alles in einer einzigen DLL, und ich habe beschlossen, es in zwei kleinere aufzuteilen. Die Datei, die die Probleme verursacht, gehört zur anderen zweiten Bibliothek (die problemlos lädt).
Über Ideen wäre ich wirklich dankbar. Vielen Dank, Jaco
0 Stimmen
Zeigen Sie etwas Code, ein #include kann alles tun.
0 Stimmen
OK, nach weiterem Debuggen. Die Datei (mit der Klasse MatrixVariable) muss nicht einmal in anderen Dateien enthalten sein. Ich muss sie einfach zum Makefile für die DLL hinzufügen, was die DLL zerstört. MatrixVariable erbt von einer Klasse innerhalb der zweiten DLL und das war es auch schon. Es hat funktioniert, als nur 1 DLL verwendet wurde.