Designer lädt wwWidgets Plugin nicht

Verschiedenes zu Qt
Antworten
reimer
Beiträge: 14
Registriert: 27. Juni 2008 19:21

Designer lädt wwWidgets Plugin nicht

Beitrag von reimer »

Designer meint, es wäre ungültig :|

Die Widget Bibliothek wird nicht gefunden:

Code: Alles auswählen

otool -L /Developer/Applications/Qt/Designer.app/Contents/MacOS/Designer 
/Developer/Applications/Qt/Designer.app/Contents/MacOS/Designer:
QtDesignerComponents.framework/Versions/4/QtDesignerComponents (compatibility version 4.3.0, current version 4.3.4)
QtDesigner.framework/Versions/4/QtDesigner (compatibility version 4.3.0, current version 4.3.4)
QtAssistant.framework/Versions/4/QtAssistant (compatibility version 4.3.0, current version 4.3.4)
QtScript.framework/Versions/4/QtScript (compatibility version 4.3.0, current version 4.3.4)
QtXml.framework/Versions/4/QtXml (compatibility version 4.3.0, current version 4.3.4)
QtGui.framework/Versions/4/QtGui (compatibility version 4.3.0, current version 4.3.4)
/System/Library/Frameworks/Carbon.framework/Versions/A/Carbon (compatibility version 2.0.0, current version 128.0.0)
/System/Library/Frameworks/AppKit.framework/Versions/C/AppKit (compatibility version 45.0.0, current version 824.34.0)
QtNetwork.framework/Versions/4/QtNetwork (compatibility version 4.3.0, current version 4.3.4)
QtCore.framework/Versions/4/QtCore (compatibility version 4.3.0, current version 4.3.4)
/usr/lib/libz.1.dylib (compatibility version 1.0.0, current version 1.2.3)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 88.1.3)
/usr/lib/libiconv.2.dylib (compatibility version 5.0.0, current version 5.0.0)
/System/Library/Frameworks/ApplicationServices.framework/Versions/A/ApplicationServices (compatibility version 1.0.0, current version 22.0.0)
/usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version 7.4.0)
/usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1.0.0)
Ich bemerkte dann, dass es nicht als Framework erzeugt wird.
Ich fügte folgende Zeilen hinzu in widgets.pro

Code: Alles auswählen

mac : CONFIG += lib_bundle
und in plugin.pro

Code: Alles auswählen

mac : LIBS += -L../widgets/wwwidgets4.framework -lwwwidgets4
#mac : LIBS += -L../widgets/wwwidgets4.framework/Versions/0 -lwwwidgets4

Dann bekomm ich diesen Fehler:

Code: Alles auswählen

/usr/libexec/gcc/i686-apple-darwin8/4.0.1/libtool: can't locate file for: -lwwwidgets4
/usr/libexec/gcc/i686-apple-darwin8/4.0.1/libtool: file: -lwwwidgets4 is not an object file (not allowed in a library)
Was tu ich falsch?
patrik08
Beiträge: 746
Registriert: 27. Februar 2006 10:48
Wohnort: DE Freiburg

Re: Designer lädt wwWidgets Plugin nicht

Beitrag von patrik08 »

reimer hat geschrieben:Designer meint, es wäre ungültig :|

Was tu ich falsch?
der fehler ist sicher nicht bei dir..

4.3.4 von mac hat bei mir auch immer viel probleme gemacht...
seit ich 4.4 installiert habe ist viel anders....

frage mal wysota http://www.qtcentre.org/forum/private.php?do=newpm&u=11 ob er die wwWidgets auf mac getestet hat..
er ist sehr hilfsbereit .. auf English ... ( da ich denke das er nur window & linux hat)

Wen du nur einen teil brauchst geht es auch ohne designer integration....
.........................
speack português italiano deutsch english castellà qt
reimer
Beiträge: 14
Registriert: 27. Juni 2008 19:21

Beitrag von reimer »

Danke für den Hinweis, das ist ja schon mal etwas :)

Ich vermute aber, dass es trotzdem noch an den Projektdateien liegt. Mit den "originalen" Projektdateien wird einfach nur ein wwwidgets4.dylib erzeugt und unter /Library/Frameworks abgelegt. Alle anderen Qt-Bibliotheken sind dagegen echte Framework-Bundles.

Wenn ich aber wie beschrieben die Konfiguration

Code: Alles auswählen

CONFIG += lib_bundle
benutze, findet der Kompiler die Bibliothek nicht mehr. Ich finde mich in den Projektdateien von wysota auch schlecht zurecht, weil meine Qt-Kenntnisse noch nicht so gut sind.

Ihn habe ich auch schon angeschrieben, aber das dauert noch, bis er Zugriff auf einen Mac hat und wird mir vor nächster Woche schon mal gar nicht weiterhelfen können. Ich möchte ihn auch nicht zuspammen, schließlich will ich ja, dass er mir auch hilft ;)

Ich suche mal weiter nach anderen Plugins und guck mir deren Projektdateien an, vielleicht hab ich Glück und finde raus, wie bei denen die Frameworks gebaut werden, die auch funktionieren.
GoaSkin
Beiträge: 103
Registriert: 13. Juni 2007 00:14
Wohnort: Darmstadt

Beitrag von GoaSkin »

Nachdem ich mich vor ein paar Tagen damit endlos beschäftigt habe, habe ich es dann irgendwann hinbekommen.

Der Fehler liegt nicht an QT sondern an wwwidgets selbst, genauer gesagt an den Projekt-Dateien.

In der widgets.pro ist die Zeile

Code: Alles auswählen

CONFIG += lib_bundle
(wie beschrieben) richtig. Damit das Designer-Plugin das dadurch gebaute Framework auch nutzen kann, bedarf es dort Änderungen:

Dort muß die LIBS-Zeile wie folgt lauten:

Code: Alles auswählen

LIBS += -framework wwwidgets4
Frameworks sind keine dynamischen Bibliotheken im eigentlichen Sinne. Mit -l und -L-Anweisungen kann man sie nicht nutzen. Die eigentliche Bibliothek im Bundle trägt auch nicht die Endung dylib.

Weiter bleibt zu wwwidgets4 anzumerken:

- daß man das Framework mit XCode nicht bauen kann (dazu taugen die Projekt-Dateien nicht)

- man wwwidgets4 als solches zwar auch als Bibliothek (dylib) bauen kann, allerdings das Designerplugin-Projekt diese nicht laden kann und dadurch vom Designer selbst nicht geladen wird. Das Problem liegt in der Symbol-Tabelle des Designer-Plugins, das nicht ordnungsgemäß auf die Bibliothek referenziert. Über den Umweg "Framework" geht es aber...

- Wenn es (wie beschrieben) läuft, funktioniert es fast einwandfrei. Sämtliche Widgets arbeiten ordentlich. Einziger Haken: Je nach Nutzung im Designer kann es passieren, daß das eigentliche Designer-Menü verschwindet und lediglich ein wwwidgets4-Menü zu sehen ist. Um das Designer-Menü wieder herzustellen, einfach mit Apfel+N ein neues Hauptfenster erstellen und dieses gleich wieder schließen! Dies bewirkt eine Wiederherstellung des Anwendungsmenüs.

- einen weiteren kleinen Bug gibt es in den Farb-Buttons: Sobald eine Slot-Funktion des Buttons verwendet wird, gibt dieser sein Aqua-Design auf und wird rechteckig.
Antworten