QT Starthilfe bitte benötigt



  • Guten Tag zusammen,

    bei meinem ersten Gehversuch mit QT (ich bin Umsteiger von Java) kam es zu einem interessanten Problem: Der Bild-Prozess ist ohne Fehler/Warnings durchgelaufen . Nur bei der Ausführung wird im Start mit der Fehlermeldung:

    "Die Anwendung konnte nicht gestartet werden, weil MSVCP80.dll nicht gefunden wurde."

    Mein Setup:
    - IDE: Code::Blocks 10.05
    - MingW: 4.4.1
    - QT: 4.6.3 (MingW Installpaket, LGPL)

    Installationsverzeichnis: MingW: "C:\app\tools\CodeBlocks\MinGW"
    Installationsverzeichnis: QT: "C:\app\tools\qt"
    Die Exe liegt unter: ""C:\Documents and Settings\z142872\My Documents\qt_test\01_Test\bin\Debug\01_Test.exe""

    Die mein.cpp ist wie folgt:

    #include <QApplication>
    #include <QFont>
    #include <QPushButton>
    
    int main(int argc, char* argv[])
    {
        QApplication app(argc, argv);
    
        QPushButton quit("Quit");
    
        quit.resize(75, 30);
        quit.setFont(QFont("Times", 18, QFont::Bold));
    
        QObject::connect(&quit, SIGNAL(clicked()), &app, SLOT(quit()));
    
        quit.show();
    
        return app.exec();
    }
    

    Das wird wie folgt compiliert:

    Compiling: main.cpp
    Linking console executable: bin\Debug\01_Test.exe
    Output size is 178,25 KB
    Process terminated with status 0 (0 minutes, 0 seconds)
    0 errors, 0 warnings

    Wie kriege ich das kleine "Hello World" zum laufen???

    Grüße, Kevin



  • Schau halt mal ob die MSVCP80.dll bei dir im Pfad liegt. Wenn nicht musst du das Verzeichnis dem Linker bekannt machen (entweder direkt in den Projekteinstellungen oder in der globalen PATH Variable an die du über die Systemeinstellungen rankommst)

    Der Bild-Prozess ist ohne Fehler/Warnings durchgelaufen .

    Der Build-Prozess. Bild-Prozesse gibts nur in der Zeitung :p



  • Hallo, danke schön. Leider klappt das immer nocht nicht. Ich bekomme einen "Prozedureinsprungspunkt-Fehler".

    Ist es wirklich so schwer QT zum laufen zubekommen?
    Wie habt Ihr das hinbekommen?



  • Das liegt an C++ und nicht an Qt.
    Die CRT (C Runtime) fehlt. Entweder linkst du die CRT statisch (keine Ahnung wie und ob das im Qt Creator geht) oder du packst alle DLLs der CRT in deinen Programmordner.



  • Pikkolini schrieb:

    Das liegt an C++ und nicht an Qt.
    Die CRT (C Runtime) fehlt. Entweder linkst du die CRT statisch (keine Ahnung wie und ob das im Qt Creator geht) oder du packst alle DLLs der CRT in deinen Programmordner.

    Er hat Code::Blocks erawehnt, nicht Qt Creator 😉 Unabhaengig davon ist ein Ergebnis von 0 ueblicherweise ein Zeichen dafuer, dass alles erfolgreich durchgelaufen ist. Es steht auch nirgendwo eine Fehlermeldung. Was genau geht eigentlich nicht?



  • Du solltest tatsächlich den QtCreator nehmen, da muss man dann glaube ich noch nichtmal irgendwelche Path-Variablen setzen. Davon abgesehen hat man einen integriertern Designer und eine gute code completeion. Code::Blocks hingegen ist imho immer noch komplett unausgereift, das sieht man allein schon an dem lausigen UI.

    Den Designer gibts im SDK (Download)



  • Wenn du ein Qt Programm ausführen willst solltest du _immer_ die benötigten Qt Dlls in den gleichen Ordner kopieren.

    Warum? Weil du wahrscheinlich mindestens ein Qt Programm auf dem Rechner hast das in der PATH Variable auftaucht.

    Die MSVC Dlls benötigt man nicht, erst recht nicht für mingw.



  • Die MSVC Dlls benötigt man nicht, erst recht nicht für mingw.

    Das ist so nicht ganz richtig.
    der gcc linkt immer gegen die Platformeigene C Lib.
    und unter windows die eben die msvcrt



  • watzmann schrieb:

    Die MSVC Dlls benötigt man nicht, erst recht nicht für mingw.

    Das ist so nicht ganz richtig.
    der gcc linkt immer gegen die Platformeigene C Lib.
    und unter windows die eben die msvcrt

    Ich bin dafür kein Fachmann, aber kann es vielleicht sein, das mingw das einfach in seine Dll statisch linkt?

    Ich benötige für Qt Programm - außer den Qt Dlls - nur diese
    mingwm10.dll
    libgcc_s_dw2-1.dll

    Damit kann ich jedes Programm direkt auf jedem Windows Computer ausführen.

    Mit MS Compiler könnte ich das prinzipiell nicht. Da müsste ich immer erst die korrekte Version von vcredist_x86.exe installieren.



  • lovepulse schrieb:

    Mein Setup:
    - IDE: Code::Blocks 10.05
    - QT: 4.6.3 (MingW Installpaket, LGPL)

    google "Codeblocks": Codeblocks is a cross-platform IDE built around wxWidgets, designed to be extensible and configurable. Runs on Windows and Linux.

    Warum nicht einfach http://qt.nokia.com/downloads/sdk-windows-cpp ? Da sollte alles drin seni nd auch tun 🙂


Anmelden zum Antworten