簡體   English   中英

Qt 5.0.1:應用程序不會在Qt創建者之外執行

[英]Qt 5.0.1: Application will not execute outside of Qt creator

我正在嘗試運行TransitTalker.exe程序,這是我從qt編譯的代碼,如下圖所示:

https://www.dropbox.com/s/ypgklrm4uschri5/filecontents.png

(請注意,我沒有足夠的聲譽來發布圖片,這就是我提供圖片鏈接的原因)

我的問題:

  • 我的程序不在qt creator之外執行。

  • 我收到以下消息嘗試運行TransitTalker.exe: “此應用程序已請求運行時以不尋常的方式終止它。請聯系應用程序的支持團隊以獲取更多信息。”

我已經做了什么:

  • 我添加了所需的dll(除了GPSVC.dll和IESHIMS.dll)。 我通過一個名為dependency walker的程序找到了所需的dll。

  • 我確保我的程序在qt creator中運行,沒有錯誤。

我的主要問題:為什么我收到此運行時消息: “此應用程序已請求Runtime以不尋常的方式終止它。請聯系應用程序的支持團隊以獲取更多信息。” 我希望能夠將我的程序TransitTalker.exe作為qt獨立應用程序運行。

運行qt creator 5.0.1(MINGW 47_32)。 我也在同一台計算機上安裝了Visual Studio 2012。

我知道這標記為已解決,但我遇到了同樣的問題,我通過從Qt二進制文件目錄復制libEGL.dll解決了這個問題。 由於一些奇怪的原因它沒有出現在依賴檢查中,我不得不查看長調試日志以查看實際加載的庫。 (它不在你的圖像中,所以它很可能是同樣的問題)

我現在讓我的申請工作了。 請參閱下面的解決方案我是如何做到的。

德米特里是正確的,MinGW GCC 4.7與Qt 5.0.1 兼容,我通過這篇文章驗證了這一點

我的解決方案 :我安裝了使用MinGW GCC 4.4的Qt Creator 4.8 SDK。 我能夠在Qt Creator之外運行我的應用程序可執行文件。

我的猜測是Qt正在進行某種啟動時斷言(例如在QApplication構造函數中)並且正在向stdout(或stderr?)打印消息,然后錯誤地“以不尋常的方式終止應用程序”。

如果是這種情況,那么您將需要找出錯誤消息所說的內容。 一種方法是將以下代碼臨時添加到main()的頂部:

AllocConsole();
freopen("conin$",  "r", stdin);
freopen("conout$", "w", stdout);
freopen("conout$", "w", stderr);

...然后重新編譯您的程序並再次運行它。 當它運行時,應該出現一個MS-DOS shell窗口,觀察它有關Qt不滿意的任何信息性消息。

暫無
暫無

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

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