Anzeige:
Ergebnis 1 bis 6 von 6

Thema: qt3 Programm auf WIndows

  1. #1
    Registrierter Benutzer
    Registriert seit
    20.10.2001
    Beiträge
    37

    Lightbulb qt3 Programm auf WIndows

    Hi

    Also ich habe ein Programm, dass auf qt3 aufbaut. Dieses möchte ich nun auch für Windows verfügbar machen. Da es die Qtlib bekanntlich nur in der Version 2.3 für Windows gibt, habe ich mich gefragt, wie es möglich wäre mein Programm dennoch für Windows zu compilieren.
    Mit diversen #ifdef 's habe ich das Progamm mit qt-2.2.3 durchkompilieren können, leider funktioniert es jetzt nur noch teilweise und es gibt duzende von Segmentation Faults...übrigens, wie kann ich diese Segmentation Faults aufspüren? Habe schon mal mit dem gdb herumgespielt, hab's aber nicht ganz kapiert...

    Vielen Dank.

    MFG: Linuxexplorer
    AMD K-6 450 MHZ
    384 MB DIMM RAM PC-100
    Gforce 2 MX
    ALI M1541 --> AGP geht nicht :( :(
    OPL3SA2
    Suse 7.1
    Kernel 2.4.18
    Xfree 4.2.0
    fluxbox

  2. #2
    Administrator Avatar von anda_skoa
    Registriert seit
    17.11.2001
    Ort
    Graz, Österreich
    Beiträge
    5.477

    Re: qt3 Programm auf WIndows

    Original geschrieben von Linuxexplorer
    Also ich habe ein Programm, dass auf qt3 aufbaut. Dieses möchte ich nun auch für Windows verfügbar machen. Da es die Qtlib bekanntlich nur in der Version 2.3 für Windows gibt, habe ich mich gefragt, wie es möglich wäre mein Programm dennoch für Windows zu compilieren.
    Nur um das nicht falsch stehen zu lassen:
    natürlich gibt es die Qt3 auch für Windows, aber nicht gratis.


    Mit diversen #ifdef 's habe ich das Progamm mit qt-2.2.3 durchkompilieren können, leider funktioniert es jetzt nur noch teilweise und es gibt duzende von Segmentation Faults..
    Hmm, solange du keine speziellen Qt3 Sachen verwendest und ui Files nur mit dem Qt2 Designer bearbeitest, sollte es relativ einfach gehen.
    Unter Linux halt mit den Compat Headern kompileren.


    .übrigens, wie kann ich diese Segmentation Faults aufspüren? Habe schon mal mit dem gdb herumgespielt, hab's aber nicht ganz kapiert...
    Du erlaubst erstmal das Erstellen von core files
    #> ulimit -c unlimited

    dann startest du das Programm
    #> ./programm

    Nach dem Segfault
    #>gdb ./programm core
    gdb> bt

    Ciao,
    _
    Qt/KDE Entwickler
    Debian Benutzer

  3. #3
    Registrierter Benutzer
    Registriert seit
    20.10.2001
    Beiträge
    37
    Hallo

    Also ich habe alles so gemacht, wie es oeben beschrieben wurde. Nur kann ich mit der Ausgabe nichts anfangen..:
    Das meldet gdb:

    besa@linuxdesk:~/Desktop/xqusto2 > ulimit -c unlimited
    besa@linuxdesk:~/Desktop/xqusto2 > cd src
    besa@linuxdesk:~/Desktop/xqusto2/src > ./xqusto2
    Speicherzugriffsfehler (core dumped)
    besa@linuxdesk:~/Desktop/xqusto2/src > gdb ./xqusto2 core
    GNU gdb 5.0
    Copyright 2000 Free Software Foundation, Inc.
    GDB is free software, covered by the GNU General Public License, and you are
    welcome to change it and/or distribute copies of it under certain conditions.
    Type "show copying" to see the conditions.
    There is absolutely no warranty for GDB. Type "show warranty" for details.
    This GDB was configured as "i386-suse-linux"...
    Core was generated by `./xqusto2'.
    Program terminated with signal 11, Segmentation fault.
    Reading symbols from /usr/lib/qt-3.0.5/lib/libqt.so.3...done.
    Loaded symbols for /usr/lib/qt-3.0.5/lib/libqt.so.3
    Reading symbols from /usr/X11R6/lib/libXext.so.6...done.
    Loaded symbols for /usr/X11R6/lib/libXext.so.6
    Reading symbols from /usr/X11R6/lib/libX11.so.6...done.
    Loaded symbols for /usr/X11R6/lib/libX11.so.6
    Reading symbols from /usr/lib/libstdc++-libc6.2-2.so.3...done.
    Loaded symbols for /usr/lib/libstdc++-libc6.2-2.so.3
    Reading symbols from /lib/libm.so.6...done.
    Loaded symbols for /lib/libm.so.6
    Reading symbols from /lib/libc.so.6...done.
    Loaded symbols for /lib/libc.so.6
    Reading symbols from /usr/lib/libGL.so.1...done.
    Loaded symbols for /usr/lib/libGL.so.1
    Reading symbols from /usr/X11R6/lib/libXmu.so.6...done.
    Loaded symbols for /usr/X11R6/lib/libXmu.so.6
    Reading symbols from /usr/X11R6/lib/libICE.so.6...done.
    Loaded symbols for /usr/X11R6/lib/libICE.so.6
    Reading symbols from /usr/X11R6/lib/libSM.so.6...done.
    Loaded symbols for /usr/X11R6/lib/libSM.so.6
    Reading symbols from /lib/libdl.so.2...done.
    Loaded symbols for /lib/libdl.so.2
    Reading symbols from /usr/X11R6/lib/libXrender.so.1...done.
    Loaded symbols for /usr/X11R6/lib/libXrender.so.1
    Reading symbols from /lib/ld-linux.so.2...done.
    Loaded symbols for /lib/ld-linux.so.2
    Reading symbols from /usr/lib/libGLcore.so.1...done.
    Loaded symbols for /usr/lib/libGLcore.so.1
    ---Type <return> to continue, or q <return> to quit---
    Reading symbols from /usr/X11R6/lib/libXt.so.6...done.
    Loaded symbols for /usr/X11R6/lib/libXt.so.6
    Reading symbols from /usr/X11R6/lib/X11/locale/common/xlcDef.so.2...done.
    Loaded symbols for /usr/X11R6/lib/X11/locale/common/xlcDef.so.2
    Reading symbols from /usr/X11R6/lib/X11/locale/common/ximcp.so.2...done.
    Loaded symbols for /usr/X11R6/lib/X11/locale/common/ximcp.so.2
    Reading symbols from /usr/lib/gconv/ISO8859-1.so...done.
    Loaded symbols for /usr/lib/gconv/ISO8859-1.so
    Reading symbols from /usr/X11R6/lib/X11/locale/common/xomGeneric.so.2...done.
    Loaded symbols for /usr/X11R6/lib/X11/locale/common/xomGeneric.so.2
    Reading symbols from /lib/libnss_compat.so.2...done.
    Loaded symbols for /lib/libnss_compat.so.2
    Reading symbols from /lib/libnsl.so.1...done.
    Loaded symbols for /lib/libnsl.so.1
    #0 0x40a5e503 in chunk_free () from /lib/libc.so.6
    (gdb) bt
    #0 0x40a5e503 in chunk_free () from /lib/libc.so.6
    #1 0x40a5e253 in free () from /lib/libc.so.6
    #2 0x409ac5e4 in __builtin_delete (ptr=0x8138100)
    from /usr/lib/libstdc++-libc6.2-2.so.3
    #3 0x405abe8a in QStringData::deleteSelf ()
    from /usr/lib/qt-3.0.5/lib/libqt.so.3
    #4 0x8056f85 in xqustoCall::sendToDebugWindow (this=0x808f760, msg={
    static null = {
    static null = <same as static member of an already seen type>,
    d = 0x80608f0, static shared_null = 0x80608f0}, d = 0xbffff068,
    static shared_null = 0x80608f0})
    at /usr/lib/qt-3.0.5/include/qstring.h:727
    #5 0x805508d in xqustoCall::checkQuestion (this=0x808f760)
    at xqustoCall.cpp:409
    #6 0x80575c3 in xqustoCall::qt_invoke (this=0x808f760, _id=77, _o=0xbffff108)
    at moc_xqustoCall.cpp:117
    #7 0x402ebe94 in QObject::activate_signal ()
    from /usr/lib/qt-3.0.5/lib/libqt.so.3
    #8 0x402ebd84 in QObject::activate_signal ()
    from /usr/lib/qt-3.0.5/lib/libqt.so.3
    #9 0x406047d9 in QButton:ressed () from /usr/lib/qt-3.0.5/lib/libqt.so.3
    #10 0x40377c2a in QButton::mousePressEvent ()
    from /usr/lib/qt-3.0.5/lib/libqt.so.3
    ---Type <return> to continue, or q <return> to quit---
    #11 0x403266d1 in QWidget::event () from /usr/lib/qt-3.0.5/lib/libqt.so.3
    #12 0x4029bc1e in QApplication::internalNotify ()
    from /usr/lib/qt-3.0.5/lib/libqt.so.3
    #13 0x4029b48f in QApplication::notify () from /usr/lib/qt-3.0.5/lib/libqt.so.3
    #14 0x4023f5a3 in QETWidget::translateMouseEvent ()
    from /usr/lib/qt-3.0.5/lib/libqt.so.3
    #15 0x4023c598 in QApplication::x11ProcessEvent ()
    from /usr/lib/qt-3.0.5/lib/libqt.so.3
    #16 0x4023b5bb in QApplication:rocessNextEvent ()
    from /usr/lib/qt-3.0.5/lib/libqt.so.3
    #17 0x4029d78f in QApplication::enter_loop ()
    from /usr/lib/qt-3.0.5/lib/libqt.so.3
    #18 0x4023b53b in QApplication::exec () from /usr/lib/qt-3.0.5/lib/libqt.so.3
    #19 0x804e06c in main (argc=1, argv=0xbffff7a4) at main.cpp:29
    #20 0x40a08baf in __libc_start_main () from /lib/libc.so.6
    (gdb)


    MFG: Linuxexplorer
    AMD K-6 450 MHZ
    384 MB DIMM RAM PC-100
    Gforce 2 MX
    ALI M1541 --> AGP geht nicht :( :(
    OPL3SA2
    Suse 7.1
    Kernel 2.4.18
    Xfree 4.2.0
    fluxbox

  4. #4
    Registrierter Benutzer
    Registriert seit
    20.10.2001
    Beiträge
    37
    PS: Wenn ich das Programm mit qt3 compiliere, gibt es keine Segmentation Fault..!!!
    AMD K-6 450 MHZ
    384 MB DIMM RAM PC-100
    Gforce 2 MX
    ALI M1541 --> AGP geht nicht :( :(
    OPL3SA2
    Suse 7.1
    Kernel 2.4.18
    Xfree 4.2.0
    fluxbox

  5. #5
    Administrator Avatar von anda_skoa
    Registriert seit
    17.11.2001
    Ort
    Graz, Österreich
    Beiträge
    5.477
    Hmm, sieht komisch aus.

    Hast du auch alle Files unter Qt2 neu kompiliert und alle moc Files und ui File mit dem entsprechenden Qt2 Programm erstellt, bzw. verarbeitet?

    Zum Backtrace:
    Da was du da siehst, ist der Callstack, also, welche Funktion von wo aufgerufen wurde.
    Bei #0 ist der Segfault aufgetreteten.
    Dann sucht man am besten nach oben, bis man in eine eigenen Funktion landet und unter sucht das dort genauer, zb durch qDebug Output.

    Ciao,
    _
    Qt/KDE Entwickler
    Debian Benutzer

  6. #6
    Registrierter Benutzer
    Registriert seit
    20.10.2001
    Beiträge
    37
    Hi

    Ja, ich habe alles neu compiliert und erstellt. Ich werde einfach nicht schlau draus! Mit qt3 funktioniert das Programm wunderbar...! Aber mit qt2.2.3....

    MFG: Linuxexplorer
    AMD K-6 450 MHZ
    384 MB DIMM RAM PC-100
    Gforce 2 MX
    ALI M1541 --> AGP geht nicht :( :(
    OPL3SA2
    Suse 7.1
    Kernel 2.4.18
    Xfree 4.2.0
    fluxbox

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •