2013-06-28 42 views
1

我已經使用Visual Studio 2012 32位和Qt5 SDK在Visual Studio Qt插件的幫助下創建了Qt項目。我正在使用Windows 7終極操作系統。無法加載平臺插件「窗口」。可用的平臺是:錯誤

我創建QApplication的GUI項目基本上採用以下庫:

qtmain.lib 
Qt5Core.lib 
Qt5Gui.lib 
Qt5Network.lib 
Ws2_32.lib 
Winhttp.lib 
Winmm.lib 
Qt5Widgets.lib 
Qt5PlatformSupport.lib 
imm32.lib 

而且我在構建應用程序二進制文件沒有任何錯誤成功。

我試圖運行試驗機的窗口此應用程序時下列DLL複製有7桌面:

icudt51.dll 
icuin51.dll 
icuuc51.dll 
libEGL.dll 
libGLESv2.dll 
Qt5Core.dll 
Qt5Network.dll 
Qt5GUI.dll 
Qt5Widgets.dll 
qwindows.dll [copied from msvc2012\plugins\platform folder ] 

,我發現了錯誤:

Failed to load platform plugin 「windows」. Available Platform are : while trying to run the application.

什麼,我會錯過?如何使它在Windows平臺上運行?請幫我解決這個問題。

我已經關注之前發佈的關於此問題的鏈接。但他們都沒有解決我的問題。我缺少什麼配置?

+6

測試不應該_qwindows.dll_處於_platform_文件夾,而不是在您的應用程序相同的路徑? – Zlatomir

+0

我已經把qwindows.dll作爲你說的。那麼它解決了 –

+0

我面臨同樣的問題。你能否詳細說明qwindows.dll應該保存在哪裏?謝謝。 – gaj

回答

1

平臺插件DLL將需要放入平臺子文件夾,然後它將工作。

0

另一種解決方案是爲QApplication對象(或啓動應用程序)添加參數。 例如,你想從C加載qwindow.dll:\測試\ platforms.dll,你可以實例化QApplication對象用下面的代碼:

int ac = 4; 
static char * av[] = {"myappli.exe","C:\\\\path\\to\\myappli.exe","-platformpluginpath","C:\\\\test"}; 
m_qApp = new QApplication(ac, av); 

要小心,QTCore DLL不能進目錄C:\ test(加載dll衝突)

1

還有另一種解決方案:早在你的主函數或其他方面,調用QCoreApplication :: addLibraryPath()。一個簡單的例子:

std::ifstream configurationStream("whateverNameYouWant.conf"); 
std::stringstream configurationText; 
configurationText << configurationStream.rdbuf(); 
auto ct = configurationText.str(); 

if (!ct.empty()) 
    QCoreApplication::addLibraryPath(QString::fromStdString(ct)); 

這裏我加載路徑從我自己發明的.conf文件,使這條道路將不會被硬編碼到我的計劃。自從我發明這個文件以來,我控制了它的格式;在這種情況下,它只包含路徑。我正在使用的實際路徑是C:/qt5/qtbase/plugins;該目錄包含platforms/qwindows.dll和其他此類文件。根據Qt文件的安裝位置,可以調整自己的情況。

我想它也應該可以使用標準的qt.conf文件,使用由Qt指定的格式來自動加載一些特殊的路徑(包括這個插件路徑),而無需添加特殊的代碼到您自己的程序中目的:http://doc.qt.io/qt-5/qt-conf.html ...但是我從來沒有設法讓它工作,無論出於何種原因。也許我犯了一些簡單的錯誤,我不知道。

0

如果您指定的工作目錄與您的可執行文件所在的目錄不同,那麼無論插件在哪裏,它都會失敗。

因此,在這種情況下,請使用後期製作事件複製您的文件。

而且在:

配置屬性 - > Debugging->命令

指定可執行文件的完整路徑。

這是在2008年VStudio

相關問題