[gelöst] von den besten ;-) QT mit gemeinsam genutzten DLL?
[gelöst] von den besten ;-) QT mit gemeinsam genutzten DLL?
Hallo,
bei einer MFC-Anwendung habe ich zwei Möglichkeiten ein Programm zu erstellen:
1) MFC in einer statischen Bibliothek verwenden
Hir wird nur die *.exe erstellt und ich muss zusätzliche dll’s mit dem Programm ausliefern.
2) MFC in einer gemeinsam genutzten DLL verwenden
Hier werden alle dll’s mit in die *.exe Kompiliert, das Programm ist dementsprechend größer, aber ich muss keine zusätzlichen dll’s mit liefern.
Was muss ich einstellen damit Version 2 auch mit QT funktioniert? Ich möchte keine zusätzlichen dll’s haben, sondern nur eine *.exe und die soll ohne zusätzliche dll’s auf einem anderen Rechner ausführbar sein.
Gruß
Marco812
P.S.
Verwende QT 4.1 und Visual Studio.Net
bei einer MFC-Anwendung habe ich zwei Möglichkeiten ein Programm zu erstellen:
1) MFC in einer statischen Bibliothek verwenden
Hir wird nur die *.exe erstellt und ich muss zusätzliche dll’s mit dem Programm ausliefern.
2) MFC in einer gemeinsam genutzten DLL verwenden
Hier werden alle dll’s mit in die *.exe Kompiliert, das Programm ist dementsprechend größer, aber ich muss keine zusätzlichen dll’s mit liefern.
Was muss ich einstellen damit Version 2 auch mit QT funktioniert? Ich möchte keine zusätzlichen dll’s haben, sondern nur eine *.exe und die soll ohne zusätzliche dll’s auf einem anderen Rechner ausführbar sein.
Gruß
Marco812
P.S.
Verwende QT 4.1 und Visual Studio.Net
Zuletzt geändert von Marco812 am 5. Februar 2006 23:33, insgesamt 1-mal geändert.
-
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:
Hallo,
ich habe jetzt folgedes gemacht:
configure -static
nmake sub-src
nun erhalte ich beim kompilieren folgenden Fehler:
fatal error LNK1181: Eingabedatei 'C:\Qt\lib\QtGuid.lib' kann nicht geöffnet werden
Was muss ich jetzt unter Projekt->Eigenschaften->Linker->Allgemein->Zusätzliche Bibliotheksverzeichnisse angeben?
Wie bekomme ich ein zusätzliches Verzeichnis, das ich zwischen statisch und dynamisch wählen kann?
Gruß
Marco812
ich habe jetzt folgedes gemacht:
configure -static
nmake sub-src
nun erhalte ich beim kompilieren folgenden Fehler:
fatal error LNK1181: Eingabedatei 'C:\Qt\lib\QtGuid.lib' kann nicht geöffnet werden
Was muss ich jetzt unter Projekt->Eigenschaften->Linker->Allgemein->Zusätzliche Bibliotheksverzeichnisse angeben?
Wie bekomme ich ein zusätzliches Verzeichnis, das ich zwischen statisch und dynamisch wählen kann?
Gruß
Marco812
-
BartSimpson
- Beiträge: 1379
- Registriert: 6. November 2004 12:03
- Kontaktdaten:
Hallo,
der Fehler entsteht beim Kompilieren.
wenn ich nmake sub-src laufen lasse erhalte folgende Meldung:
C:\Qt>nmake sub-src
Microsoft (R) Program Maintenance-Dienstprogramm: Version 6.00.9782.0
Copyright (C) Microsoft Corp 1988-1998. Alle Rechte vorbehalten.
cd src && NMAKE
Microsoft (R) Program Maintenance-Dienstprogramm: Version 6.00.9782.0
Copyright (C) Microsoft Corp 1988-1998. Alle Rechte vorbehalten.
cd winmain && NMAKE
Microsoft (R) Program Maintenance-Dienstprogramm: Version 6.00.9782.0
Copyright (C) Microsoft Corp 1988-1998. Alle Rechte vorbehalten.
NMAKE -f Makefile.Debug all
Microsoft (R) Program Maintenance-Dienstprogramm: Version 6.00.9782.0
Copyright (C) Microsoft Corp 1988-1998. Alle Rechte vorbehalten.
NMAKE -f Makefile.Release all
Microsoft (R) Program Maintenance-Dienstprogramm: Version 6.00.9782.0
Copyright (C) Microsoft Corp 1988-1998. Alle Rechte vorbehalten.
cd tools\moc && NMAKE
Microsoft (R) Program Maintenance-Dienstprogramm: Version 6.00.9782.0
Copyright (C) Microsoft Corp 1988-1998. Alle Rechte vorbehalten.
NMAKE -f Makefile.Release
Microsoft (R) Program Maintenance-Dienstprogramm: Version 6.00.9782.0
Copyright (C) Microsoft Corp 1988-1998. Alle Rechte vorbehalten.
cd tools\rcc && NMAKE
Microsoft (R) Program Maintenance-Dienstprogramm: Version 6.00.9782.0
Copyright (C) Microsoft Corp 1988-1998. Alle Rechte vorbehalten.
NMAKE -f Makefile.Release
Microsoft (R) Program Maintenance-Dienstprogramm: Version 6.00.9782.0
Copyright (C) Microsoft Corp 1988-1998. Alle Rechte vorbehalten.
cd tools\uic && NMAKE
Microsoft (R) Program Maintenance-Dienstprogramm: Version 6.00.9782.0
Copyright (C) Microsoft Corp 1988-1998. Alle Rechte vorbehalten.
NMAKE -f Makefile.Release
Microsoft (R) Program Maintenance-Dienstprogramm: Version 6.00.9782.0
Copyright (C) Microsoft Corp 1988-1998. Alle Rechte vorbehalten.
cd corelib && NMAKE
Microsoft (R) Program Maintenance-Dienstprogramm: Version 6.00.9782.0
Copyright (C) Microsoft Corp 1988-1998. Alle Rechte vorbehalten.
NMAKE -f Makefile.Debug all
Microsoft (R) Program Maintenance-Dienstprogramm: Version 6.00.9782.0
Copyright (C) Microsoft Corp 1988-1998. Alle Rechte vorbehalten.
NMAKE -f Makefile.Release all
Microsoft (R) Program Maintenance-Dienstprogramm: Version 6.00.9782.0
Copyright (C) Microsoft Corp 1988-1998. Alle Rechte vorbehalten.
cd xml && NMAKE
Microsoft (R) Program Maintenance-Dienstprogramm: Version 6.00.9782.0
Copyright (C) Microsoft Corp 1988-1998. Alle Rechte vorbehalten.
NMAKE -f Makefile.Debug all
Microsoft (R) Program Maintenance-Dienstprogramm: Version 6.00.9782.0
Copyright (C) Microsoft Corp 1988-1998. Alle Rechte vorbehalten.
NMAKE -f Makefile.Release all
Microsoft (R) Program Maintenance-Dienstprogramm: Version 6.00.9782.0
Copyright (C) Microsoft Corp 1988-1998. Alle Rechte vorbehalten.
cd gui && NMAKE
Microsoft (R) Program Maintenance-Dienstprogramm: Version 6.00.9782.0
Copyright (C) Microsoft Corp 1988-1998. Alle Rechte vorbehalten.
NMAKE -f Makefile.Debug all
Microsoft (R) Program Maintenance-Dienstprogramm: Version 6.00.9782.0
Copyright (C) Microsoft Corp 1988-1998. Alle Rechte vorbehalten.
cl -c -nologo -Zm200 -Zi -MDd -Zi -MDd -W3 -DQT_THREAD_SUPPORT -DUNICODE
-DWIN32 -DQT_LARGEFILE_SUPPORT -DQT_EDITION=QT_EDITION_DESKTOP -DQT_BUILD_GUI_L
IB -DQT_NO_CAST_TO_ASCII -DQT3_SUPPORT -DQT_MOC_COMPAT -DQT_RASTER_IMAGEENGINE -
DQT_RASTER_PAINTENGINE -DQT_HAVE_SSE -DQT_PDF_SUPPORT -DQT_NO_STYLE_MAC -DQT_NO_
STYLE_WINDOWSXP -DQT_CORE_LIB -I"C:/Qt/include/QtCore" -I"C:/Qt/include" -I"C:/Q
t/include/QtGui" -I"tmp" -I"..\3rdparty\wintab" -I"..\3rdparty\libpng" -I"..\3rd
party\zlib" -I"C:/Qt/include/ActiveQt" -I"tmp\moc\debug_static" -I"." -I"C:/Qt/m
kspecs/win32-msvc.net" -Fotmp\obj\debug_static\ @C:\DOKUME~1\MARCON~1\LOKALE~1\T
emp\nma02804.
qblackraster.c
qgrayraster.c
Generieren von Code...
cl -c -FIqt_gui_pch.h -Yuqt_gui_pch.h -Fptmp\obj\debug_static\QtGuid_pch
.pch -nologo -Zm200 -Zi -MDd -Zi -MDd -W3 -w34100 -w34189 -GR -EHsc -DQT_THREAD_
SUPPORT -DUNICODE -DWIN32 -DQT_LARGEFILE_SUPPORT -DQT_EDITION=QT_EDITION_DESKTOP
-DQT_BUILD_GUI_LIB -DQT_NO_CAST_TO_ASCII -DQT3_SUPPORT -DQT_MOC_COMPAT -DQT_RAS
TER_IMAGEENGINE -DQT_RASTER_PAINTENGINE -DQT_HAVE_SSE -DQT_PDF_SUPPORT -DQT_NO_S
TYLE_MAC -DQT_NO_STYLE_WINDOWSXP -DQT_CORE_LIB -I"C:/Qt/include/QtCore" -I"C:/Qt
/include" -I"C:/Qt/include/QtGui" -I"tmp" -I"..\3rdparty\wintab" -I"..\3rdparty\
libpng" -I"..\3rdparty\zlib" -I"C:/Qt/include/ActiveQt" -I"tmp\moc\debug_static"
-I"." -I"C:/Qt/mkspecs/win32-msvc.net" -Fotmp\obj\debug_static\ @C:\DOKUME~1\MA
RCON~1\LOKALE~1\Temp\nmb02804.
Befehlszeilenwarnung D4002 : Unbekannte Option '-w34100' wird ignoriert
Befehlszeilenwarnung D4002 : Unbekannte Option '-w34189' wird ignoriert
qdrawhelper_x86.cpp
painting\qdrawhelper_x86.cpp(45) : fatal error C1083: Include-Datei kann nicht g
e÷ffnet werden: 'mmintrin.h': No such file or directory
NMAKE : fatal error U1077: 'cl' : Rueckgabe-Code '0x2'
Stop.
NMAKE : fatal error U1077: '"C:\Programme\Microsoft Visual Studio 6\VC98\bin\NMA
KE.EXE"' : Rueckgabe-Code '0x2'
Stop.
NMAKE : fatal error U1077: 'cd' : Rueckgabe-Code '0x2'
Stop.
NMAKE : fatal error U1077: 'cd' : Rueckgabe-Code '0x2'
Stop.
Gruß
Marco
der Fehler entsteht beim Kompilieren.
wenn ich nmake sub-src laufen lasse erhalte folgende Meldung:
C:\Qt>nmake sub-src
Microsoft (R) Program Maintenance-Dienstprogramm: Version 6.00.9782.0
Copyright (C) Microsoft Corp 1988-1998. Alle Rechte vorbehalten.
cd src && NMAKE
Microsoft (R) Program Maintenance-Dienstprogramm: Version 6.00.9782.0
Copyright (C) Microsoft Corp 1988-1998. Alle Rechte vorbehalten.
cd winmain && NMAKE
Microsoft (R) Program Maintenance-Dienstprogramm: Version 6.00.9782.0
Copyright (C) Microsoft Corp 1988-1998. Alle Rechte vorbehalten.
NMAKE -f Makefile.Debug all
Microsoft (R) Program Maintenance-Dienstprogramm: Version 6.00.9782.0
Copyright (C) Microsoft Corp 1988-1998. Alle Rechte vorbehalten.
NMAKE -f Makefile.Release all
Microsoft (R) Program Maintenance-Dienstprogramm: Version 6.00.9782.0
Copyright (C) Microsoft Corp 1988-1998. Alle Rechte vorbehalten.
cd tools\moc && NMAKE
Microsoft (R) Program Maintenance-Dienstprogramm: Version 6.00.9782.0
Copyright (C) Microsoft Corp 1988-1998. Alle Rechte vorbehalten.
NMAKE -f Makefile.Release
Microsoft (R) Program Maintenance-Dienstprogramm: Version 6.00.9782.0
Copyright (C) Microsoft Corp 1988-1998. Alle Rechte vorbehalten.
cd tools\rcc && NMAKE
Microsoft (R) Program Maintenance-Dienstprogramm: Version 6.00.9782.0
Copyright (C) Microsoft Corp 1988-1998. Alle Rechte vorbehalten.
NMAKE -f Makefile.Release
Microsoft (R) Program Maintenance-Dienstprogramm: Version 6.00.9782.0
Copyright (C) Microsoft Corp 1988-1998. Alle Rechte vorbehalten.
cd tools\uic && NMAKE
Microsoft (R) Program Maintenance-Dienstprogramm: Version 6.00.9782.0
Copyright (C) Microsoft Corp 1988-1998. Alle Rechte vorbehalten.
NMAKE -f Makefile.Release
Microsoft (R) Program Maintenance-Dienstprogramm: Version 6.00.9782.0
Copyright (C) Microsoft Corp 1988-1998. Alle Rechte vorbehalten.
cd corelib && NMAKE
Microsoft (R) Program Maintenance-Dienstprogramm: Version 6.00.9782.0
Copyright (C) Microsoft Corp 1988-1998. Alle Rechte vorbehalten.
NMAKE -f Makefile.Debug all
Microsoft (R) Program Maintenance-Dienstprogramm: Version 6.00.9782.0
Copyright (C) Microsoft Corp 1988-1998. Alle Rechte vorbehalten.
NMAKE -f Makefile.Release all
Microsoft (R) Program Maintenance-Dienstprogramm: Version 6.00.9782.0
Copyright (C) Microsoft Corp 1988-1998. Alle Rechte vorbehalten.
cd xml && NMAKE
Microsoft (R) Program Maintenance-Dienstprogramm: Version 6.00.9782.0
Copyright (C) Microsoft Corp 1988-1998. Alle Rechte vorbehalten.
NMAKE -f Makefile.Debug all
Microsoft (R) Program Maintenance-Dienstprogramm: Version 6.00.9782.0
Copyright (C) Microsoft Corp 1988-1998. Alle Rechte vorbehalten.
NMAKE -f Makefile.Release all
Microsoft (R) Program Maintenance-Dienstprogramm: Version 6.00.9782.0
Copyright (C) Microsoft Corp 1988-1998. Alle Rechte vorbehalten.
cd gui && NMAKE
Microsoft (R) Program Maintenance-Dienstprogramm: Version 6.00.9782.0
Copyright (C) Microsoft Corp 1988-1998. Alle Rechte vorbehalten.
NMAKE -f Makefile.Debug all
Microsoft (R) Program Maintenance-Dienstprogramm: Version 6.00.9782.0
Copyright (C) Microsoft Corp 1988-1998. Alle Rechte vorbehalten.
cl -c -nologo -Zm200 -Zi -MDd -Zi -MDd -W3 -DQT_THREAD_SUPPORT -DUNICODE
-DWIN32 -DQT_LARGEFILE_SUPPORT -DQT_EDITION=QT_EDITION_DESKTOP -DQT_BUILD_GUI_L
IB -DQT_NO_CAST_TO_ASCII -DQT3_SUPPORT -DQT_MOC_COMPAT -DQT_RASTER_IMAGEENGINE -
DQT_RASTER_PAINTENGINE -DQT_HAVE_SSE -DQT_PDF_SUPPORT -DQT_NO_STYLE_MAC -DQT_NO_
STYLE_WINDOWSXP -DQT_CORE_LIB -I"C:/Qt/include/QtCore" -I"C:/Qt/include" -I"C:/Q
t/include/QtGui" -I"tmp" -I"..\3rdparty\wintab" -I"..\3rdparty\libpng" -I"..\3rd
party\zlib" -I"C:/Qt/include/ActiveQt" -I"tmp\moc\debug_static" -I"." -I"C:/Qt/m
kspecs/win32-msvc.net" -Fotmp\obj\debug_static\ @C:\DOKUME~1\MARCON~1\LOKALE~1\T
emp\nma02804.
qblackraster.c
qgrayraster.c
Generieren von Code...
cl -c -FIqt_gui_pch.h -Yuqt_gui_pch.h -Fptmp\obj\debug_static\QtGuid_pch
.pch -nologo -Zm200 -Zi -MDd -Zi -MDd -W3 -w34100 -w34189 -GR -EHsc -DQT_THREAD_
SUPPORT -DUNICODE -DWIN32 -DQT_LARGEFILE_SUPPORT -DQT_EDITION=QT_EDITION_DESKTOP
-DQT_BUILD_GUI_LIB -DQT_NO_CAST_TO_ASCII -DQT3_SUPPORT -DQT_MOC_COMPAT -DQT_RAS
TER_IMAGEENGINE -DQT_RASTER_PAINTENGINE -DQT_HAVE_SSE -DQT_PDF_SUPPORT -DQT_NO_S
TYLE_MAC -DQT_NO_STYLE_WINDOWSXP -DQT_CORE_LIB -I"C:/Qt/include/QtCore" -I"C:/Qt
/include" -I"C:/Qt/include/QtGui" -I"tmp" -I"..\3rdparty\wintab" -I"..\3rdparty\
libpng" -I"..\3rdparty\zlib" -I"C:/Qt/include/ActiveQt" -I"tmp\moc\debug_static"
-I"." -I"C:/Qt/mkspecs/win32-msvc.net" -Fotmp\obj\debug_static\ @C:\DOKUME~1\MA
RCON~1\LOKALE~1\Temp\nmb02804.
Befehlszeilenwarnung D4002 : Unbekannte Option '-w34100' wird ignoriert
Befehlszeilenwarnung D4002 : Unbekannte Option '-w34189' wird ignoriert
qdrawhelper_x86.cpp
painting\qdrawhelper_x86.cpp(45) : fatal error C1083: Include-Datei kann nicht g
e÷ffnet werden: 'mmintrin.h': No such file or directory
NMAKE : fatal error U1077: 'cl' : Rueckgabe-Code '0x2'
Stop.
NMAKE : fatal error U1077: '"C:\Programme\Microsoft Visual Studio 6\VC98\bin\NMA
KE.EXE"' : Rueckgabe-Code '0x2'
Stop.
NMAKE : fatal error U1077: 'cd' : Rueckgabe-Code '0x2'
Stop.
NMAKE : fatal error U1077: 'cd' : Rueckgabe-Code '0x2'
Stop.
Gruß
Marco
-
BartSimpson
- Beiträge: 1379
- Registriert: 6. November 2004 12:03
- Kontaktdaten:
-
BartSimpson
- Beiträge: 1379
- Registriert: 6. November 2004 12:03
- Kontaktdaten:
-
Christian81
- Beiträge: 7319
- Registriert: 26. August 2004 14:11
- Wohnort: Bremen
- Kontaktdaten:
mmintrin.h? Das sieht aus wie msvc6 ...
Diese Datei in qt4-src/src/gui/painting ersetzen: http://cvs.sourceforge.net/viewcvs.py/* ... inting.pri
Ausserdem sollte man das richtige mkspec nehmen: 'qconfigure.bat msvc -static'
Diese Datei in qt4-src/src/gui/painting ersetzen: http://cvs.sourceforge.net/viewcvs.py/* ... inting.pri
Ausserdem sollte man das richtige mkspec nehmen: 'qconfigure.bat msvc -static'
MfG Christian
'Funktioniert nicht' ist keine Fehlerbeschreibung
'Funktioniert nicht' ist keine Fehlerbeschreibung
Hallo,
also ich habe jetzt folgendes gemacht QT neu installiert(eine Kopie vom QTDIE angelegt). Dann in das QTDIR gewechselt und configure -static -release -fast ausgeführt und anschließend nmake
dann wieder dieser Fehler obwohl ich painting.pri ersezt habe:
qdrawhelper_x86.cpp
painting\qdrawhelper_x86.cpp(45) : fatal error C1083: Include-Datei kann nicht g
e÷ffnet werden: 'mmintrin.h': No such file or directory
NMAKE : fatal error U1077: 'cl' : Rueckgabe-Code '0x2'
Stop.
NMAKE : fatal error U1077: '"C:\Programme\Microsoft Visual Studio 6\VC98\bin\NMA
KE.EXE"' : Rueckgabe-Code '0x2'
Stop.
NMAKE : fatal error U1077: 'cd' : Rueckgabe-Code '0x2'
Stop.
NMAKE : fatal error U1077: 'cd' : Rueckgabe-Code '0x2'
Stop.
warum nutzt er aber C:\Programme\Microsoft Visual Studio 6\VC98\bin\NMAKE.EXE wir benutze doch mittlerweile Visual Studio .NET 2003 wo kann ich das denn ändern?
Vielen dank schon einmal für eure tolle Hilfe, denn das Programm muss morgen laufen und ich weiß nicht wie, bin fast am verzweifeln!
Gruß
Marco812
also ich habe jetzt folgendes gemacht QT neu installiert(eine Kopie vom QTDIE angelegt). Dann in das QTDIR gewechselt und configure -static -release -fast ausgeführt und anschließend nmake
dann wieder dieser Fehler obwohl ich painting.pri ersezt habe:
qdrawhelper_x86.cpp
painting\qdrawhelper_x86.cpp(45) : fatal error C1083: Include-Datei kann nicht g
e÷ffnet werden: 'mmintrin.h': No such file or directory
NMAKE : fatal error U1077: 'cl' : Rueckgabe-Code '0x2'
Stop.
NMAKE : fatal error U1077: '"C:\Programme\Microsoft Visual Studio 6\VC98\bin\NMA
KE.EXE"' : Rueckgabe-Code '0x2'
Stop.
NMAKE : fatal error U1077: 'cd' : Rueckgabe-Code '0x2'
Stop.
NMAKE : fatal error U1077: 'cd' : Rueckgabe-Code '0x2'
Stop.
warum nutzt er aber C:\Programme\Microsoft Visual Studio 6\VC98\bin\NMAKE.EXE wir benutze doch mittlerweile Visual Studio .NET 2003 wo kann ich das denn ändern?
Vielen dank schon einmal für eure tolle Hilfe, denn das Programm muss morgen laufen und ich weiß nicht wie, bin fast am verzweifeln!
Gruß
Marco812
-
BartSimpson
- Beiträge: 1379
- Registriert: 6. November 2004 12:03
- Kontaktdaten: