Ich habe bei mir VisualStudio 2010 und Qt 4.7.1 installiert. Zusätzlich haben ich für VS2010 das Qt AddIn installiert.
Ich möchte in meinem Programm zur Laufzeit mit QLibrary eine DLL nachladen. Wenn ich in VS2010 ein neues Projekt für eine Win32-DLL anlege, dann funktioniert das mit dieser DLL ohne Probleme. Nachteil: So ohne weiteres kann ich in der DLL kein Qt nutzen, weil sämtliche Einstellungen, Pfade, usw. dafür fehlen. Wenn ich (über das Qt AddIn) ein Projekt für eine "Qt Library" anlege, dann bekomme ich eine DLL, in der ich Qt benutzen kann. Dummerweise meldet QLibrary einen Fehler, wenn ich versuche auf die Qt-DLL zuzugreifen. Die Fehlermeldung hab ich jetzt nicht im Kopf, kann ich aber noch nachliefern.
In der Qt-DLL fehlte die dllmain Funktion, die habe ich mal hinzugefügt. Daran lag es aber nicht. Hat jemand eine Idee was da fehlt? Oder muss ich in der Win32-DLL alle Einstellungen für Qt von Hand nachtragen?
Gruß,
Ingo
DLL erzeugen zum Laden mit QLibrary (VS2010)
-
Christian81
- Beiträge: 7319
- Registriert: 26. August 2004 14:11
- Wohnort: Bremen
- Kontaktdaten:
Setz dich mal mit deinem Compiler, Deiner IDE, Deinem Betriebssystem usw auseinander. Die Basics dazu sind eben nicht in 3 - 4 Posts zu erklären.
Und auch wenn fuer 60% aller Faelle mit 3-4 Clicks nen Dll-Project mit QT drinne erstellbar ist und das auch funktional, sind eben dabei Dinge zu beachten, da könnt man Buecher drüber schreiben !
Kürzer hinweis:
Wenn nen QT Consolen App erstellst, sind das 3 clicks in den Settings, um den Compiler zu überreden ne Dll draus zu machen.
Nen "QT Library Project" bringt einen da aber auch weiter. Zumindest compilieren sollt gehen .
Und warum die Dll ned Läd .... das wiederum sind Basics über Dein system (Windows) und dem linker etc.
Dependency-Walker ist nen tolles Tool z.b.
QLibrary sollt auch entrpechend auf "Probleme" reagieren und nicht einfach nur sagen "geht nicht"
Falls doch, mal die Dll nativ mit Loadlibrary laden. Spätestens dann bekommst verwertbare Fehlercodes.
Das wirst, wenn ernsthaft programmieren willst, eh brauchen. Dlls sind halt ne andere Liga ... da brauchst mehr Kentnisse als die Grundlagen der Programmier-Sprache.
Ciao ...
Und auch wenn fuer 60% aller Faelle mit 3-4 Clicks nen Dll-Project mit QT drinne erstellbar ist und das auch funktional, sind eben dabei Dinge zu beachten, da könnt man Buecher drüber schreiben !
Kürzer hinweis:
Wenn nen QT Consolen App erstellst, sind das 3 clicks in den Settings, um den Compiler zu überreden ne Dll draus zu machen.
Nen "QT Library Project" bringt einen da aber auch weiter. Zumindest compilieren sollt gehen .
Und warum die Dll ned Läd .... das wiederum sind Basics über Dein system (Windows) und dem linker etc.
Dependency-Walker ist nen tolles Tool z.b.
QLibrary sollt auch entrpechend auf "Probleme" reagieren und nicht einfach nur sagen "geht nicht"
Falls doch, mal die Dll nativ mit Loadlibrary laden. Spätestens dann bekommst verwertbare Fehlercodes.
Das wirst, wenn ernsthaft programmieren willst, eh brauchen. Dlls sind halt ne andere Liga ... da brauchst mehr Kentnisse als die Grundlagen der Programmier-Sprache.
Ciao ...