Seite 1 von 1
Phonon unter Windows mit gcc nutzen
Verfasst: 3. April 2009 11:16
von r0bb3n
Hallo,
ich arbeite an einem komplexen Projekt, welches in C++ geschrieben ist und mit dem gcc compiliert wird. Nun soll nachträglich ein Multimedia-Modul eingebracht werden. Da die Applikation sowieso auf Qt 4.5 aufbaut, bietet sich Phonon ja an.
Das Problem liegt nun aber im backend von Phonon. Mit dem win32-msvc2005 hab ich es hinbekommen das backend zu kompilieren (mit den SDKs von Windows und DirectX) - und auch das Phonon-Beispiel in Qt.
Wie bereits gesagt muss das aber mit dem gcc funkioneren. Auch da hab ich das frontend herstellen können, aber die Applikation kann nicht ohne backend arbeiten. Und die phonon_ds9.dll (so hieß das backend, glaub ich ^^) ist ja vom win32-msvc2005 und kann somit nicht vom gcc-compilierten Programm genutzt werden - wenn ich mich nicht irre. Das heißt aber nicht, dass ich es nicht probiert hätte. ;-)
Hat jemand eine Idee, wie ich ein backend erstellen kann, sodass ich dieses mit meinem "gcc-Programm" verwenden kann?
Danke schonmal im Voraus.
greetz r0bb3n
Verfasst: 3. April 2009 12:03
von Christian81
Die MinGW-Leute wollen nicht die Patches von Trolltech akzeptieren (Copyright und so) - deshalb kann man das Phonon-Backend unter Windows nicht so ohne weiteres mit MinGW übersetzen.
Wir kompilieren es mit eigenen DirectX-Header (imho von Wine):
http://websvn.kde.org/trunk/kdesupport/ ... 2/include/ und es funktioniert auch.
Verfasst: 3. April 2009 12:05
von androphinx
ähhhhhmmm..... ist gcc nicht für c-programme da? ist qt nicht c++? müsstest du nicht eigentlich g++ nehmen? warum sollte ein mit g++ kompiliertes programm nicht eine dll von visual nehmen? hast du es überhaupt schonmal versucht?
fragen über fragen, ich hoffe es gibt viele gute antworten
Mfg androphinx
PS: ok, wenn du mit gcc die gesamte collection meinst erübrigen sich die ersten drei fragen....
PPS: ich habs grad mal mit was anderem probiert. gcc kann visual-dlls benutzen (warum auch nicht?). du brauchst nur die entsprechende library der dll...
Verfasst: 3. April 2009 12:09
von Christian81
androphinx hat geschrieben:
PPS: ich habs grad mal mit was anderem probiert. gcc kann visual-dlls benutzen (warum auch nicht?). du brauchst nur die entsprechende library der dll...
Bitte erst überlegen bevor man was schreibt
Der GCC kann eben
keine C++ - Libraries welche mit MSVC erstellt wurden benutzen da die C++-ABI nicht standardisiert ist.
Das es mit C-Libraries (mehr oder weniger) funkioniert ist eine andere Sache...
Verfasst: 3. April 2009 12:21
von androphinx
sorry ich meinte die collection

aber man muss doch phonon eigentlich nicht extra mit mingw übersetzen, oder? es reicht doch die dll und die lib von visual und man kann es zusammensetzen....
Mfg androphinx
Verfasst: 3. April 2009 21:41
von Christian81
Nochmal zum mitschreiben - man kann keine C++ Library welche mit MSV compiliert ist,mit MinGW benutzen (und umgekehrt) !
Verfasst: 4. April 2009 10:42
von androphinx
ok, ok, lag an mir, die dll die ich verwendet hab war zwar mit msvc kompiliert die lib war aber umgewandelt. und das ist auch die ganze lösung des problems:
Code: Alles auswählen
pexports c:\mysql5\mysql.dll | sed "s/^_//" > mysqldll.def
dlltool -U -d mysqldll.def -l libmysql.a
das ist jetzt auf mysql bezogen, ist aber das gleiche problem....
pexports (mingw-utils):
https://sourceforge.net/project/showfil ... e_id=61599
sed:
http://gnuwin32.sourceforge.net/packages/sed.htm
dlltool: befindet sich mit im mingw-bin-ordner
Mfg androphinx
Verfasst: 5. April 2009 17:23
von Christian81
Ich glaube ich rede gegen eine Wand - mysql ist eine C-only lib, deshalb geht es ...

Verfasst: 5. April 2009 23:45
von r0bb3n
Vielen Dank Christian81 für die kompetenten Antworten, ich werd dann mal das hier ausprobieren
Wenn ich dann die Header verwende, welche backend-dll nutze ich dann? Kann ja nicht die nehmen, die mir der msvc geliefert hat =)
Gruß r0bb3n
@androphinx
Natürlich meinte ich die Collection, compiliere also mit g++ ;-)
Verfasst: 6. April 2009 07:00
von Christian81
Die Header haben nichts mit irgendeinen Backend zu tun - es sind einfach die DirectX9 Header für MinGW.
Verfasst: 7. April 2009 13:42
von r0bb3n
Ok, hab nicht richtig nachgedacht. Die Header kann ich dann zum Bauen des backends von phonon benutzen (phonon_ds9.dll), oder? Das Phonon kommt ja nicht ohne backend aus.
Verfasst: 15. Mai 2009 16:17
von Whitefurrows
Hi,
ich würde auch gerne Phonon mit dem g++ unter Windows Kompilieren.
Welche Dateien von
http://websvn.kde.org/trunk/kdesupport/ ... 2/include/ muss ich mir dann besorgen und wo ablegen bzw. einbinden, damit ich das Beispiel unter %QTDIR%\demos\mediaplayer zum laufen bekomme?