2013-05-22 61 views

回答

1

您是否創建了一個創建qapplication的主函數?有一個很好的例子here

當你創建一個DOS可執行文件,而不是Windows圖形用戶界面可執行文件也可以得到這個錯誤。它尋找的WinMain()不是主要的(),

+1

我創造了「Qt的GUI應用程序」,幷包括一個包含函數聲明的頭文件後調用從MainWindow.cpp我的功能。通過這樣做,我不必創建一個單獨的主函數,是嗎?但是,我對你對DOS可執行文件的看法很感興趣。很顯然,我正在構建一個Gui應用程序,而不是獨立的「.exe」文件,爲什麼它不編譯? 另一件事,我創建了一個新項目:Qt Unit Test。現在它工作正常。所以,我不能建立自己的測試單元功能,而應該創建一個qt單元測試項目,是嗎? – hashDefine

+0

您可能已經包含頭文件,它定義了主函數,但沒有實例化它。當它運行編譯器來構建應用程序的exe文件時,它是否包含包含主要文件的cpp文件?只包括頭文件是不夠的。 – Jay

+0

現在,即使使用「Qt Gui應用程序」也可以正常工作。我所做的是我在「main.cpp」這個函數中編寫了'QTest :: qExec(&testString,argc,argv);'來執行我的單元測試。但是我之前做的是直接調用我的測試函數而不創建一個對象,並且我再次從錯誤的文件(即:MainWindow.cpp)調用它,而不調用QTest :: qExec。所以它現在起作用。但老實說,我不會按照Qt單元測試的錯誤! – hashDefine

相關問題