2017-01-13 67 views
0

VS2015 mfc項目。 試圖加載QT5Widgets.dllVS C++ LoadLibrary總是返回空

CString sPath("M:\\ParseDLL\\Qt5Widgets.dll"); 
HMODULE hm = LoadLibrary(sPath); 

HM總是空。我嘗試改變字符集(unicode,multy bite),在路徑文本之前使用_T,L,將win 32更改爲64.仍然沒有任何結果。 GetlastErorr代碼126告訴「指定的模塊找不到」。 Dll正在這條路上。有任何想法嗎?

+4

您是否使用依賴查看器檢查DLL?也許該DLL依賴於另一個無法加載的DLL。 – Bathsheba

+0

Dependency Viewer還可以剖析正在運行的應用程序,並在發生LoadLibrary調用時排除故障。 – MSalters

+0

@void:您可能想要閱讀整個問題。 – MSalters

回答

3

Tt看起來像一個缺少的DLL。 如果M:\ParseDLL\Qt5Widgets.dll確實存在,則表示您缺少Qt5Widgets所需的一個DLL(或Qt5Widgets等所需DLL所需的DLL)。

就像@Bathsheba所說,使用依賴查看器工具可以幫助您找到有罪的DLL。

快速清單

  • 你需要在同一個文件夾(或在您的PATH)至少Qt5Core.dll和Qt5Gui.dll並確保
  • 使用相同的編譯器(版本和體系結構)對於用於構建Qt
  • 的軟件,如果要在調試中構建軟件,則可能還需要使用Qt DLL(Qt5Widgetsd.dll等)的調試版本。