このような質問がすでに出されていることは知っていますが、状況は少し異なり、その問題に対するすべての答えが私にはうまくいきませんでした。
VS2008でいくつかのCコードをコンパイルしようとしていますが、exeが作成されません。また、f5で実行しようとすると、次のようになります。
MSVCR90.DLLが見つからなかったため、このアプリケーションを起動できませんでした。
私はグーグルをしました、そしてそれは私のc ++再配布可能パッケージがインストールされなかったからだと言いました。だから私はそれをインストールし、すべてを再起動して再試行しました。しかし、残念ながら、私はまだ同じエラーを受け取ります。誰かがこれを修正する方法の手がかりを持っていますか?
VS2008のインストールに問題があるか、DLL検索パスに問題があるようです。VS2008のインストール時にMSVCR90.DLLがインストールされるため、再配布可能なパッケージを追加でインストールする必要はありません。 。
まず、PATH環境変数をチェックして、一部のエントリを壊すgobbledydookが含まれていないことを確認します。問題が見つからない場合は、VisualStudioをアンインストールして再インストールします。
MSVCR90.DLL(およびそのような他のDLL)を検索して、Windows/System32フォルダーに移動することもできます。
今すぐ始めたい場合は、ランタイムライブラリに静的にリンクするようにプロジェクトを変更することもできます。そうすれば、そのDLLを読み込もうとさえしません。プロジェクト設定の[構成プロパティ]-> [C/C++]-> [コード生成]に移動し、ランタイムライブラリをマルチスレッドDLLからマルチスレッド(またはそうでないオプション)に変更します。 DLLで終了します)。
[全般]タブで、プロジェクトの構成を確認するためのいくつかの事項を次に示します。
何かがすでに定義されているという特定のリンカーエラーが発生した場合:これは、異なるランタイムリンクで構築されたアプリの一部(exeにリンクされている個別のライブラリ)があることを意味します:
あなたはできる:
これらのライブラリが、アプリケーションと同じバージョンのVisualStudioでコンパイルされていることを確認してください。
静的ランタイムを使用するようにこれらのプロジェクトを変更します:C/C++->コード生成->ランタイムライブラリ:/ MTまたはMTd(上記の#4と同じ)
それでも特定のエラーが発生する場合は、特定のライブラリを無視するようにリンカに指示してみてください。[リンカ]-> [特定のライブラリを無視]に移動し、無視するライブラリを配置します。これは、「libcmt.lib」または「libcmtd.lib」で最も一般的です。 'd'で終わるlibが通常デバッグバージョンであることを知っておくことも重要です。リリースビルドを作成していて、「libcmtd.libですでに定義されている」場合は、どこかでリリースライブラリをデバッグライブラリにリンクしていることを意味します。
.exeに関連付けられているマニフェストファイルを削除すると、同じエラーが発生します。
MSVCR90.dllはsystem32ではなく、side-by-sideフォルダーにインストールされるため、マニフェストが必要です。
私はこれに噛まれたばかりで、 このページ 私は再び働きました。
重要なのは、デバッグ構成でMSVCRTおよびMSVCR90ライブラリを無視することです。リンカ->入力->特定のライブラリを無視する設定を設定して、以下を含めます。
おそらく http://www.Microsoft.com/downloads/en/details.aspx?FamilyID=a5c84275-3b97-4ab7-a40d-3802b2af5fc2&displaylang=en Visual Studio2008ランタイムライブラリにあります。はい!それをインストールした後、openofficeアップデートが機能します。
プロジェクト設定の[構成プロパティ]-> [C/C++]-> [コード生成]に移動し、ランタイムライブラリをマルチスレッドDLLからマルチスレッドに変更してからコンパイルを試みますが、コンパイルされません。次に、それをマルチスレッドデバッグに変更してコンパイルを試みますが、再度実行されないので、マルチスレッドDLLに戻すと、コンパイルして実行する必要があります。
完成したexeを他の人に渡す場合は、実行するために最新のVisualCランタイムをインストールする必要があります。これは、リリースビルドAFAIKでのみ機能します。 Visual Studioは、リリースとデバッグの両方に必要なランタイムをパスにインストールする必要があります。プロジェクトには、ランタイムの誤ったバージョンに対して誤って設定された追加の依存関係がある可能性があります。
このページ が役立つかどうかを確認してください。