簡體   English   中英

Qt程序無法編譯/出現運行時錯誤(IDE:CodeBlocks / QtCreator)

[英]Qt program fails to compile/has runtime error (IDE: CodeBlocks/QtCreator)

我是Qt的新手。 雖然我已經安裝了4.8.3了很長時間,但昨天我才開始編寫我的第一個Qt程序。 我在Windows環境下,對我的C ++代碼使用CodeBlocks。

我遵循了有關Qt編程的書,並試圖重現該書的示例。 當需要單獨編譯時,第二章出現了問題。 我從未使用CodeBlocks成功完成單獨的編譯,這次也沒有例外:我仍然收到“對XXX的未知引用”。

我嘗試在線查找所有說明,但仍然無法解決(設置qmake,鏈接等)。尤其是當我使用qmake並將makefile標記為自定義文件時,每當我編譯程序時,CodeBlocks告訴我該項目並沒有建 當我單擊“是”以構建程序時,彈出相同的“尚未構建”通知,並重復該過程。

我曾經懷疑我的Qt出問題了,所以我將其刪除並安裝了最新的Qt(即Qt5.0)。 但是我不能使用它,因為CodeBlocks僅支持Qt4,而我的編譯器不支持Qt5。

因此,我嘗試下載4.8.4的“舊版本”。 事實證明,我什至無法編譯一個文件程序(我的意思是整個項目中只有一個.cpp文件,沒有自定義頭文件)。 我嘗試了默認的CodeBlock qt程序,如下所示:

    #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();
    }

只是一個非常標准的。 它應該可以編譯,並且可以編譯,但是情況更糟:該程序永遠無法運行,因為執行后立即發生運行時錯誤(錯誤代碼:0xC0000005或-1073741819)這是我的問題1:我沒有任何線索,可以做什么?我要解決問題嗎? 我不介意刪除我的CodeBlocks和Qt並重新安裝(如果它們有效),但是我已經嘗試過了,沒有用。

我的第二個問題:(已解決)然后我嘗試使用Qt Creator。 當我編譯上面顯示的簡單程序時,我收到很多關鍵字為“ unwind_resume”的錯誤-有人可以告訴我如何解決嗎? (在線注釋建議運行qtvar.bat,但無濟於事;有些建議構建調試庫,我嘗試過但由於內存不足而意外停止了調試庫?)

我的第三個問題:(發現它相當多余,因為上面已經討論過了,所以我刪除了它)

(我首先要感謝真正閱讀過我的帖子的人。我不得不說,盡管所提供的信息可能不足以尋找解決方案,但這只是我所知道的。)

更新-更多信息:實際上,我對CodeBlocks也有類似的未定義參考。 但是我很懶,所以我只是將所有.dll文件從qt文件夾復制到SysWOW64。 程序確實可以編譯並在昨天運行,但是即使我也復制了新的.dll文件,今天重新安裝qt和代碼塊后,程序也因運行時錯誤而崩潰。 明確說明:如果我將.dll文件復制到SysWOW64,則代碼​​塊可以編譯程序,但是現在程序崩潰了,這與昨天的正常運行不同。)

更新-現在的問題是運行時錯誤。

好的,讓我們在這里回顧一下,停止在評論后串聯評論。

對於您的第一個問題,我們清除了所有先前編譯的.h/hpp文件夾,僅保留了所需的文件,即: .cpp文件, .h/hpp文件和.pro文件(以及您可能需要的任何資源文件,但不是此示例的情況)。

然后從終端/ cmd 手動編譯即可構建項目:

qmake.exe -project <PATH_TO_NEEDED_FILES>
qmake
make

現在,關於運行時錯誤和Entry Point Not Found第二個問題……嗯,我一無所知。 Googleing一點我發現Entry Point錯誤的最常見原因是Qt鏈接到舊版本的dll:

入口點錯誤1

入口點錯誤2

入口點錯誤3

在第二個鏈接中,通過將Qt路徑設置為Windows PATH中的第一個解決了該問題。 也許有幫助。

希望有更多經驗的人能幫忙!!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM