2011-11-21 28 views
6

Visual C++ 2008 Express Editionを使用してリソースのみのDLLを作成しています。私が直面してる 問題は私がインターネットthrought検索エラーコード14001LoadLibraryがエラーコード14001で失敗する

を失敗のLoadLibrary()関数につながるほか、別のコンピュータ上でDLL を使用するアプリケーションを実行すると、dependecyのようだということですコンピュータの問題 Microsoft Visual C++ 2008再頒布可能パッケージのライブラリが不足しているアプリケーションを実行しています。

私の最初のステップは、最新のMicrosoft Visual C++ 2008再配布可能パッケージをインストールすることでしたが、それでも問題は解決されませんでした。

また、DLLを静的CRTリンクでコンパイルするようにプロジェクト設定を変更しました。 このようにすれば、依存関係を取り除くことができます。

これらのオプションは、同じ問題を抱えている他の人のための回避策のようです。 どの方向に見えるか、非常に高く評価されています。

おかげ

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

あなたの答えをありがとう。

Dependency Walkerとイベントビューアーの両方で、VC++再頒布可能パッケージのデバッグバージョンライブラリがないため、 のサイドバイサイド構成が示されていました。

私は不注意でDLLをデバッグモードでコンパイルしましたが、リリースモードで再コンパイルすると問題が解決しました。

+0

本当にリソース専用DLLを作成するオプションがあると思います。例えばそれはDllMainを生成せず、MFC、ATL、CRTなどを引き出しません。リンカ/アドバンスト - エントリポイントなし – Luke

答えて

3

イベントビューアを見てください。 Windows SideBySideから欠落しているアセンブリを説明するエラーがあります。
おそらく、あなたはあなたのdllにバンドルしなければならないVC CRTランタイムです。

(VCの再配布はこちらです:http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=29

7

依存関係ウォーカーで不足しているライブラリーを明確にしてください:

http://www.dependencywalker.com/

ただ、それが必要、このツールを使用して第二のコンピュータ上でアプリケーションを実行しますどのライブラリが欠けているか教えてください。適切なバージョンのVisual C++ 2008 Redistributable Packageをインストールしていることを確認してください。それらのうちの2つは、VS 2008 SP1のためのもので、SPはありません。

0

私はVisual Studio 2013でも同じ問題がありました。マニフェストを必要とするDLLのデバッグセット。私の場合、Microsoft.DTfW.DHL.manifestとdbghelp.dllをパスに追加する必要がありました(私はexeディレクトリを使用しました)。

関連する問題