2011-11-21 216 views
6

我正在使用Visual C++ 2008 Express Edition創建僅資源DLL。 我現在面臨的問題是,在運行,它利用了DLL 的另一臺計算機上的應用程序,除了礦導致調用LoadLibrary()函數,錯誤代碼14001LoadLibrary失敗,錯誤代碼爲14001

未能搜索throught這似乎是一個dependecy互聯網運行應用程序的計算機 的問題缺少Microsoft Visual C++ 2008可再發行組件包的庫。

我的第一個步驟是安裝最新的Microsoft Visual C++ 2008再發行組件包,但沒有解決問題。

另外我改變了我的項目設置,所以DLL編譯與靜態CRT連接假設 這樣我就擺脫了依賴關係。

這些選項似乎是有同樣的問題別人的解決方法。 任何想法在哪個方向看是高度讚賞。

感謝

========================================= =========================================

謝謝您的回答。

Dependency Walker和事件查看器都指出並排配置 問題,因爲我缺少VC++可再發行組件包的調試版本庫。

我大意了編譯我在調試模式下DLL,在釋放模式重新編譯解決了這個問題。

+0

我覺得有一個選項的地方,真正形成一個資源DLL;例如它不會生成DllMain並拉入MFC,ATL,CRT等。嘗試鏈接器/高級 - 無入口點 – Luke

回答

7

嘗試通過Dependency Walker中缺少庫隔離:

http://www.dependencywalker.com/

就用這個工具,它應該運行你的第二臺計算機上的應用告訴你什麼庫缺失。確保您正在安裝正確版本的Visual C++ 2008 Redistributable Package;有兩個人,於2008年與VS SP1和沒有任何SP ...

0

我有同樣的問題,但與Visual Studio 2013;一個需要清單的DLL調試集。在我的情況下,必須將Microsoft.DTfW.DHL.manifest和dbghelp.dll添加到路徑中(我使用了exe目錄)。

相關問題