Was kann ich tun?
Was kann ich tun?
Hallo Zusammen,
ich moechte ein aus QT bestandenes Programm unter ein keine QT-Installation gemachtes System verlegen. Das System ist Windows. Natuerlich weiss ich,dass meine Programm mit folgenden DLLs zusammen gebracht werden muessen.
QtGui4.dll
QtCore4.dll
mingwm10.dll
Aber wie kann ich tun,ich bin der Meinung,wie ich xxx.pro beschreiben, wenn diese DLLs in relativ-directory meines Programms gesteckt sind?
c:\my_program\
xxx.exe
lib
|----QtGui4.dll
|----QtCore4.dll
|----mingwm10.dll
|----andere.....
.....
Information von meinem PC:
Betriebsystem ist Windows XP Home
Complier ist GCC/G++
QTs Version ist 4.2.1
Danke schoen.
Mfg.
ich moechte ein aus QT bestandenes Programm unter ein keine QT-Installation gemachtes System verlegen. Das System ist Windows. Natuerlich weiss ich,dass meine Programm mit folgenden DLLs zusammen gebracht werden muessen.
QtGui4.dll
QtCore4.dll
mingwm10.dll
Aber wie kann ich tun,ich bin der Meinung,wie ich xxx.pro beschreiben, wenn diese DLLs in relativ-directory meines Programms gesteckt sind?
c:\my_program\
xxx.exe
lib
|----QtGui4.dll
|----QtCore4.dll
|----mingwm10.dll
|----andere.....
.....
Information von meinem PC:
Betriebsystem ist Windows XP Home
Complier ist GCC/G++
QTs Version ist 4.2.1
Danke schoen.
Mfg.
Zuletzt geändert von Hass am 21. Februar 2007 11:48, insgesamt 1-mal geändert.
Versuch mal http://doc.trolltech.com/4.2/qcoreappli ... ibraryPath oder http://doc.trolltech.com/4.2/qcoreappli ... braryPaths
Ansonsten kannst du die DLLs noch in den system32-Ordner kopieren.
Ansonsten kannst du die DLLs noch in den system32-Ordner kopieren.
-
Christian81
- Beiträge: 7319
- Registriert: 26. August 2004 14:11
- Wohnort: Bremen
- Kontaktdaten:
Die Dlls (nicht Plugins) werden beim Start der Applikation geladen - und nicht per QLibrary. Also nützt das auch nichts. Die Dlls müssen immer im PATH liegen (es gibt noch zwei andere Möglichkeiten, aber die sind noch schwieriger zu realisieren)
MfG Christian
'Funktioniert nicht' ist keine Fehlerbeschreibung
'Funktioniert nicht' ist keine Fehlerbeschreibung
Stimmt, hab ich nicht dran gedacht...Christian81 hat geschrieben:Die Dlls (nicht Plugins) werden beim Start der Applikation geladen - und nicht per QLibrary. Also nützt das auch nichts.
Eine Möglichkeit ist statisch linken, aber was ist die andere?Christian81 hat geschrieben:Die Dlls müssen immer im PATH liegen (es gibt noch zwei andere Möglichkeiten, aber die sind noch schwieriger zu realisieren)
-
Christian81
- Beiträge: 7319
- Registriert: 26. August 2004 14:11
- Wohnort: Bremen
- Kontaktdaten:
Oh, statisch linken habe ich nicht gedacht
a) es gibt noch die blöden Manifests, allerdings müssen die libs dann in windows\winsxs liegen (soweit ich weiss, habe mich noch nicht intensiv mit beschäftigt)
b) man kann es auch in der Registry festlegen wenn ich die Diskussion auf qt-interest richtig verfolgt habe, aber auch hier - noch nicht weiter verfolgt
a) es gibt noch die blöden Manifests, allerdings müssen die libs dann in windows\winsxs liegen (soweit ich weiss, habe mich noch nicht intensiv mit beschäftigt)
b) man kann es auch in der Registry festlegen wenn ich die Diskussion auf qt-interest richtig verfolgt habe, aber auch hier - noch nicht weiter verfolgt
MfG Christian
'Funktioniert nicht' ist keine Fehlerbeschreibung
'Funktioniert nicht' ist keine Fehlerbeschreibung
Also,wie du gezeigt hast,kein Cross Platform Weg zu finden,stimmt das? Wir muessen DLLs mit Exe zusammen in einem einigen Dateiordner liegen? stimmt das? Also es ist zu schwer.........Christian81 hat geschrieben:Oh, statisch linken habe ich nicht gedacht
a) es gibt noch die blöden Manifests, allerdings müssen die libs dann in windows\winsxs liegen (soweit ich weiss, habe mich noch nicht intensiv mit beschäftigt)
b) man kann es auch in der Registry festlegen wenn ich die Diskussion auf qt-interest richtig verfolgt habe, aber auch hier - noch nicht weiter verfolgt
-
BartSimpson
- Beiträge: 1379
- Registriert: 6. November 2004 12:03
- Kontaktdaten:
-
BartSimpson
- Beiträge: 1379
- Registriert: 6. November 2004 12:03
- Kontaktdaten:
-
BartSimpson
- Beiträge: 1379
- Registriert: 6. November 2004 12:03
- Kontaktdaten:
"DLL Höllen"?BartSimpson hat geschrieben:Wenn du es "DLL Höllen" sicher machen willst, dann nicht. Da muste du aber denn auch den MS Compiler ab Version 8 benutzen.
Ich moechte nur DLLs im Subdateiordner des Programm(EXE) liegen,so dass diese DLLs nicht im Globaldateiordner von Windows verlegt werden. Wenn es getan wuerde,daechte ich genau, beinahe zu "DLL Hoellen" zu werden.Unter Microsoft.NET koennten wir eine xml.config beschreiben,so dass Lokale der DLLs immer notiert wuerden. Wie macht das?
-
BartSimpson
- Beiträge: 1379
- Registriert: 6. November 2004 12:03
- Kontaktdaten:
Er einzige Weg um der DLL Hölle zu entkommen sind Side-by-Side Assemblys. Diese DLL's können nur mit dem VC2005 erstellt werden, und müssen über das MSI System installiert werden. Diese werden dann über ein Manifest der Anwendung gefunden. Einfach die DLL's irgenwo ablegen und denn diese im Suchpfad einbinden ist Mist, denn da kannste auf die DLL Hölle warten. MS hat mehre nette Artikel zu dem Thema suche mal nach Side-by-Side Asselby auf den msdn Seiten.
Es ist so schade,dass ich nur OpenSource Develop Tool habe,so dass mir beinahe mit gcc/c++ Programmsentwicklungen machen wuerde. Sag mal,ob mein Problem oder dieses Theme zu "Dlls redistributed" nie geloest werden koennte. Haette ich nur den Weg,Windows PATH einzusetzen?BartSimpson hat geschrieben:Er einzige Weg um der DLL Hölle zu entkommen sind Side-by-Side Assemblys. Diese DLL's können nur mit dem VC2005 erstellt werden, und müssen über das MSI System installiert werden. Diese werden dann über ein Manifest der Anwendung gefunden. Einfach die DLL's irgenwo ablegen und denn diese im Suchpfad einbinden ist Mist, denn da kannste auf die DLL Hölle warten. MS hat mehre nette Artikel zu dem Thema suche mal nach Side-by-Side Asselby auf den msdn Seiten.
-
BartSimpson
- Beiträge: 1379
- Registriert: 6. November 2004 12:03
- Kontaktdaten: