[gelöst]QT 4.3.0 + MinGW compiliert anstatt libs dlls
[gelöst]QT 4.3.0 + MinGW compiliert anstatt libs dlls
Hi, wie schon die Beshreibung des Themas vermuten lässt habe ich ein kleines Problem, ich benutze VC05 und bloodsheds devc++ nun möchte ich qt für beides benutzen, deshalb habe ich mir das MinGW package vor einiger zeit geholt. Nun ja irgendwie hat alles geklappt, doch nach 5 stunden kompilieren war im lib order immernoch keine einzige lib nur ein haufen dlls(die mysteriöserweise vorher nicht da waren und die namen der eigentlichen libs tragen).
Währe nett wenn mir jemand nen Tip geben könnte wo ich das output format ändere, habe jetzt schon zum 4. mal configuriert(mit confclean) und natürlich auch kompiliert.
Währe nett wenn mir jemand nen Tip geben könnte wo ich das output format ändere, habe jetzt schon zum 4. mal configuriert(mit confclean) und natürlich auch kompiliert.
Zuletzt geändert von close1 am 28. Mai 2008 13:17, insgesamt 1-mal geändert.
MfG
close1
close1
-
Christian81
- Beiträge: 7319
- Registriert: 26. August 2004 14:11
- Wohnort: Bremen
- Kontaktdaten:
Oh sorry, meinte vs05 (visual studio 2005)
by the way: kann man die linux libs unter windows überhaupt nutzen? Ich benutze bis jetzt eigentlich nur normale .lib librarys.
kann ich dann bei den abhängigkeiten anstatt QtCore4.lib einfach QtCore4.a schreiben oder muss ich da sonst noch was machen?
by the way: kann man die linux libs unter windows überhaupt nutzen? Ich benutze bis jetzt eigentlich nur normale .lib librarys.
kann ich dann bei den abhängigkeiten anstatt QtCore4.lib einfach QtCore4.a schreiben oder muss ich da sonst noch was machen?
MfG
close1
close1
-
Christian81
- Beiträge: 7319
- Registriert: 26. August 2004 14:11
- Wohnort: Bremen
- Kontaktdaten:
Könntest Du mal erklären was Du machst?
Willst Du jetzt mit VS kompilieren oder mit MinGW? Wenn mit VS - warum dann das Qt4-MinGW-package von Trolltech?
Wie hast Du configuriert (bzw. was stand da als Ausgabe nachdem Du configure.exe aufgerufen hast).
http://doc.trolltech.com/4.3/install-win.html
Willst Du jetzt mit VS kompilieren oder mit MinGW? Wenn mit VS - warum dann das Qt4-MinGW-package von Trolltech?
Wie hast Du configuriert (bzw. was stand da als Ausgabe nachdem Du configure.exe aufgerufen hast).
http://doc.trolltech.com/4.3/install-win.html
MfG Christian
'Funktioniert nicht' ist keine Fehlerbeschreibung
'Funktioniert nicht' ist keine Fehlerbeschreibung
-
Christian81
- Beiträge: 7319
- Registriert: 26. August 2004 14:11
- Wohnort: Bremen
- Kontaktdaten:
/edit: .dll -> shared libs (==.so unter Linux) .lib/.a -> static (import) libs (== .a unter Linux)Christian81 hat geschrieben:Könntest Du mal erklären was Du machst?
Willst Du jetzt mit VS kompilieren oder mit MinGW? Wenn mit VS - warum dann das Qt4-MinGW-package von Trolltech?
Wie hast Du configuriert (bzw. was stand da als Ausgabe nachdem Du configure.exe aufgerufen hast).
http://doc.trolltech.com/4.3/install-win.html
MfG Christian
'Funktioniert nicht' ist keine Fehlerbeschreibung
'Funktioniert nicht' ist keine Fehlerbeschreibung
Re: QT 4.3.0 + MinGW compiliert anstatt libs dlls
Logischerweise, da die Standardeinstellung von configure halt shared(=dlls unter Windows ist):close1 hat geschrieben:doch nach 5 stunden kompilieren war im lib order immernoch keine einzige lib nur ein haufen dlls(die mysteriöserweise vorher nicht da waren und die namen der eigentlichen libs tragen).
Configure options:
The defaults (*) are usually acceptable. A plus (+) denotes a default value
that needs to be evaluated. If the evaluation succeeds, the feature is
included. Here is a short explanation of each option:
* -shared ............ Create and use shared Qt libraries.
-static ............ Create and use static Qt libraries.
Um libs für statische Kompilierung zu bekommen, mußt du halt "configure -static ..." vor dem Kompilieren aufrufen.
Gruß, Gérôme
-
Christian81
- Beiträge: 7319
- Registriert: 26. August 2004 14:11
- Wohnort: Bremen
- Kontaktdaten:
Re: QT 4.3.0 + MinGW compiliert anstatt libs dlls
Nicht ganz - importlibs werden auch erzeugt (.dll oder .a) - aber er kann sich ja nichtmal entscheiden ob er nun mingw oder msvc benutzen willgerome69 hat geschrieben: Logischerweise, da die Standardeinstellung von configure halt shared(=dlls unter Windows ist):
MfG Christian
'Funktioniert nicht' ist keine Fehlerbeschreibung
'Funktioniert nicht' ist keine Fehlerbeschreibung
Also um mal klarzustellen ich benutze beide compiler auf windows(warum ist jetzt mal egal), nun wollte ich QT compilieren das ich es mit beiden benutzen kann, bzw es keine komplikationen mit devc++ gibt(wenn ich qt mit vs compilieren würde funktioniert das mit devc++ sicher nicht so toll...).
@gerome69: Ich habe configure auch mit -static aufgerufen(und dann kompiliert), immernoch keine einzige lib -_- das ist ja gerade das seltsame...
@gerome69: Ich habe configure auch mit -static aufgerufen(und dann kompiliert), immernoch keine einzige lib -_- das ist ja gerade das seltsame...
MfG
close1
close1
-
Christian81
- Beiträge: 7319
- Registriert: 26. August 2004 14:11
- Wohnort: Bremen
- Kontaktdaten:
Wenn Du Qt für beide Compiler haben willst musst Du es auch mit beiden Compilern bauen lassen.
Und warum Du auf einmal statisch bauen willst ist mir auch noch nicht klar. Was es mit den Endungen auf sich hat habe ich ja schon gesagt.
Außerdem bist Du nicht darauf eingegangen was configure.exe für Ausgaben gemacht hat (z.B. das benutzte mkspec usw.). Was findest Du denn derzeit im lib-Verzeichnis?
Und warum Du auf einmal statisch bauen willst ist mir auch noch nicht klar. Was es mit den Endungen auf sich hat habe ich ja schon gesagt.
Außerdem bist Du nicht darauf eingegangen was configure.exe für Ausgaben gemacht hat (z.B. das benutzte mkspec usw.). Was findest Du denn derzeit im lib-Verzeichnis?
MfG Christian
'Funktioniert nicht' ist keine Fehlerbeschreibung
'Funktioniert nicht' ist keine Fehlerbeschreibung
jeweils für beide versionen kompilieren :/
der mkspec ist g++(wegen MinGW), nach de kompilieren sind im lib verz. nur die dll hinzugekommen, der rest war beim mingw package dabei(.a dateien auch..)
was configure außer "configuration complete, please run mingw32-make" so sagt weiß ich gerade nicht mehr.
der mkspec ist g++(wegen MinGW), nach de kompilieren sind im lib verz. nur die dll hinzugekommen, der rest war beim mingw package dabei(.a dateien auch..)
was configure außer "configuration complete, please run mingw32-make" so sagt weiß ich gerade nicht mehr.
MfG
close1
close1
-
Christian81
- Beiträge: 7319
- Registriert: 26. August 2004 14:11
- Wohnort: Bremen
- Kontaktdaten:
Das bedeutet dann also, wenn ich die qt header includiere muss ich was machen um die qt klassen benutzen zu können? (habe bis jetzt nur mit statischen libs gearbeitet :S)
wenn ich die header includiere und compiliere(und natürlich alle paths richtig gesetzt habe) kommt immer "fehler: nicht aufgelöstes externes symbol", oder dergleichen.
wenn ich die header includiere und compiliere(und natürlich alle paths richtig gesetzt habe) kommt immer "fehler: nicht aufgelöstes externes symbol", oder dergleichen.
MfG
close1
close1
-
PeterLustig
- Beiträge: 386
- Registriert: 21. November 2007 20:07
genau da hakt es ja... wie kann ich denn die .a dateien z.b. in bzw. mit dem visual studio benutzen(ich hab ja keine .lib dateien)PeterLustig hat geschrieben:Weil du noch die Bibliotheken zu deiner Applikation linken musst. Wie das gemacht wrid, unterscheidet sich von IDE zu IDE.
oder welche libs meinst du?
edit: oder meinst du das ich die .a dateien mit MinGW linken muss? :S
Zuletzt geändert von close1 am 28. Mai 2008 13:14, insgesamt 1-mal geändert.
MfG
close1
close1
-
PeterLustig
- Beiträge: 386
- Registriert: 21. November 2007 20:07
Wenn du Qt in Visual Studio benutzen willst, dann musst du Qt auch mit Visual Studio kompilieren, sonst wird es nicht funktionieren. Und wenn du es mit Visual Studio kompilierst, dann kriegst du auch die benötigten .lib Dateien.
Kompilierst du Qt mit MingW, dann musst du auch deine Applikationen mit MingW kompilieren.
Kompilierst du Qt mit MingW, dann musst du auch deine Applikationen mit MingW kompilieren.