web-dev-qa-db-ja.com

LNK1158はrc.exe x64 Visual Studioを実行できません

Visual Studioで64ビットプラットフォーム用の簡単なプログラムをコンパイルしようとしています。コンパイルしようとすると、次のエラーが表示されます:リンク:致命的なエラーLNK1158: 'rc.exe'を実行できません

私は多くのディスカッションスレッドに行って、rc.exeとrcdll.dllをWindowsキットフォルダーからVC/binフォルダーにコピーすることを示しています。私はこれを無駄にしました。私のバージョンのVisual Studioが、このrc.exeファイルを探していると思うディレクトリを探していない可能性があります。この実行可能ファイルを探しているディレクトリをVisual Studio内で識別する方法はありますか?

(この問題は x64をターゲットとするVC++/VS2010でコンパイルできない:LNK1158:cvtres.exeを実行できません で提供される質問と回答の重複である可能性があることが示唆されました。ただし、これはこれは、システムで実行されている一部のNVサービスによってパスが破損していたためです。echo%PATH%と入力するとフルパスが表示されるため、問題は発生していません。以下に示す正しい解決策に私)

10
gboy

エラーは確かに私がrc.exeとrcdll.dllファイルを配置していた場所でした。私は64ビットプラットフォームにコンパイルしているため、Visual Studioは64ビットの「クロスコンパイラ」を使用していますしないは$(VSInstallDir)\ VC\binにありますが、$ (VSInstallDir)\ VC\bin\x86_AMD64フォルダー。

したがって、私の問題の解決策は、rc.exeおよびrcdll.dllをC:\ Program Files(x86)\ Windows Kits\8.1\bin\x86フォルダーから$(VSInstallDir)\ VC\bin\x86_AMD64フォルダーにコピーすることでした。 。

そうすることで、最初のエラーを克服できました。

ただし、ビルド時に、新しいエラーがポップアップ表示されます:LNK1158: 'cvtres.exe'を実行できません。最初のrc.exeエラーとは対照的に、このファイルは実際には既に$(VSInstallDir)\ VC\binフォルダーにあります。問題は、クロスコンパイラが独自のディレクトリでそれを探していることです。そのため、このファイルを$(VSInstallDir)\ VC\binフォルダーから$(VSInstallDir)\ VC\bin\x86_AMD64フォルダーにコピーしました。

それを実行すると、プロジェクトが構築されて実行されました。

23
gboy

anaconda3にコピーされたVS2015 Windows 10でpythonコードをコンパイルしているときにこのエラーが発生しました。

rc.exe

rcdll.dll

から

C:\ Program Files(x86)\ Windows Kits\10\bin\10.0.17134.0\x64

visual Studioのインストールフォルダーに貼り付け

C:\ Program Files(x86)\ Microsoft Visual Studio 14.0\VC\bin

コードを正常に生成しました。

7
Khan