0

私は最近、当社の製品の 1 つの完全な名前変更を任されました。現在、Visual Studio 2008 で MFC を使用してビルドされています。検索/置換を使用し、さまざまなプロジェクト プロパティの名前を変更して、Visual Studio 内から名前を変更しようとしました。ただし、(ビルド/リンクが成功した後)実行すると、次のエラーが発生しました。

ランタイムエラー!

プログラム: d...

R6034

アプリケーションが C ランタイム ライブラリを正しくロードしようとしました。詳細については、アプリケーションのサポート チームにお問い合わせください。

ここに画像の説明を入力

私は何かを台無しにしたと思ったので、プロジェクトのクリーン コピーを取得し、正常にビルド/リンク/実行されたことを確認してから、外部エディターを使用して名前を変更しました。退屈な時間かそこらの後、私はすべての名前を変更しました。実行中に、同じ R6034 エラーが発生しました。

私はこのエラーに飛び込み始めましたが、ほとんどの場合、マニフェスト ファイルが見つからないことが原因のようです。アプリケーションの設定の適切な (元の名前) コピーを比較しましたが、いくつかの名前を除いてすべてが同じです。マニフェストが生成され、埋め込まれています。VS2008 で実行可能ファイルを開き、RT_MANIFEST が存在し、ID が 1 であることを確認しました。マニフェスト自体は、作業アセンブリのものと同じです。外部マニフェストを使用してみましたが、同じ問題が発生しました。

このアプリケーション全体を手動で移植する必要があるように見えますが、それが実際に機能するかどうかはまだわかりません。何か案は?

4

1 に答える 1

0

さて、私はそれを理解しました。深い洞察の瞬間があればよかったのですが、それは単純な間違いでした。

名前の変更と同時に行った他のタスク (間違い #1) の 1 つは、ソリューションに含まれていたインテル Fortran ライブラリ プロジェクトを削除することでした。そのコードはめったに (変更されても) ないため、Intel コンパイラがインストールされていない別のマシンでビルドするプロセスを合理化するために、コードを削除したいと考えました。このステップの一部は、リンカー入力リストにライブラリを手動で追加することでした。うーん、誤ってリリースライブラリをデバッグ版に追加してしまい、そこが問題の原因でした。修正してデバッグ版にしたところ、正しくリンクされました。

これが問題を引き起こした理由がよくわかりません。過去にデバッグ バージョンでリリース ライブラリを使用したことがありますが (逆も同様です)、何らかの理由で Intel や Fortran を混在させて混乱させてしまいました。

みんなの時間をありがとう。

于 2012-12-19T17:07:25.557 に答える