Phonon unter Windows mit gcc nutzen

Alles rund um die Programmierung mit Qt
Antworten
r0bb3n
Beiträge: 4
Registriert: 25. März 2009 15:41

Phonon unter Windows mit gcc nutzen

Beitrag 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
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag 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.
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
androphinx
Beiträge: 170
Registriert: 26. Januar 2009 09:19
Wohnort: 127.0.0.2

Beitrag 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...
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag 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 :roll:
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...
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
androphinx
Beiträge: 170
Registriert: 26. Januar 2009 09:19
Wohnort: 127.0.0.2

Beitrag 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
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Nochmal zum mitschreiben - man kann keine C++ Library welche mit MSV compiliert ist,mit MinGW benutzen (und umgekehrt) !
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
androphinx
Beiträge: 170
Registriert: 26. Januar 2009 09:19
Wohnort: 127.0.0.2

Beitrag 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
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Ich glaube ich rede gegen eine Wand - mysql ist eine C-only lib, deshalb geht es ... :roll:
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
r0bb3n
Beiträge: 4
Registriert: 25. März 2009 15:41

Beitrag von r0bb3n »

Vielen Dank Christian81 für die kompetenten Antworten, ich werd dann mal das hier ausprobieren
Wir kompilieren es mit eigenen DirectX-Header (imho von Wine): http://websvn.kde.org/trunk/kdesupport/ ... 2/include/ und es funktioniert auch.
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++ ;-)
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Die Header haben nichts mit irgendeinen Backend zu tun - es sind einfach die DirectX9 Header für MinGW.
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
r0bb3n
Beiträge: 4
Registriert: 25. März 2009 15:41

Beitrag 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.
Whitefurrows
Beiträge: 138
Registriert: 1. Mai 2006 19:50

Beitrag 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?
Antworten