Windows 7にVS2013とVS2015をインストールしました。
私は既存のC++ Dllプロジェクトを作成しましたが、今ではVS2015を使用して突然ビルドできず、エラーが発生します:
LINK : fatal error LNK1104: cannot open file 'kernel32.lib'
この投稿から: 致命的なエラーLNK1104:ファイル 'kernel32.lib'を開けません 私はkernel32.libファイルを探しに行きました、それはここにあります:
C:\Program Files (x86)\Windows Kits\8.1\Lib\winv6.3\um\x86
プロジェクトProperties-> Linker-> Inputに移動してMacrosを選択すると、このパスが実際にあることがわかります。
プラットフォームツールセットがVisual Studio 2013-Windows XP(v120_xp)に設定されています。これは常に設定されていますに。
私のプロジェクトが突然構築を停止したのはなぜですか?何が間違っていたのでしょうか?
原因がpropsファイルを変更するプラグイン/拡張機能である場合、結果としてプロジェクトの「Visual C++ディレクトリ」設定が変更される可能性があります。
だから、私のために働いた解決策は私自身の答えで説明されています 64ビットのVisual Studio 2010プロジェクトをコンパイルできません 、私はここに完全に転写します:
同僚に助けを求めた後、上書きオプションを使用してTFSからプロジェクトのクリーンビルドを取得しても、プロジェクトの[構成プロパティ]> [VC++ディレクトリ]は他のコンピューターとは常に異なることに気付きました。
さらに検索すると、最後の投稿 include/libパスをリセット で解決策が見つかりました。これを完全に転写します。
「del%HOMEPATH%\ AppData\Local\Microsoft\MSBuild\v4.0\Microsoft.Cpp.Win32.user.props」を使用することが常に正しい方法とは限りません。アプリケーションデータフォルダーが通常配置されている "del%USERPROFILE%\ AppData\Local\Microsoft\MSBuild\v4.0\Microsoft.Cpp.Win32.user.props"を使用することをお勧めします。
次に、
Microsoft.Cpp.x64.user.props
の内容を確認しましたが、Visual Leaks Detectorによって追加されたものがあることがわかりました。 1か月前のように、VLDを使用してメモリリーク分析を行いました。そのため、ファイルを削除し、すべてが64ビットで正常にコンパイルされるようになりました!
VC++ディレクトリを変更したときに、Visual Studio 2013で今日このような問題が発生しました。
プロジェクト->プロパティ-> VC++ディレクトリ: ディレクトリを含む
今日も同じ問題がありました。どういうわけか、SDK 10.0.15063.0がシステムにインストールされましたが、デスクトップC++ファイルはありませんでした。インストールされたプログラムのリストでSDKを選択し、変更インストールを行い、そこでデスクトップC++オプションを選択すると、必要なファイルが追加され、再びリンクできるようになりました。
今日、Visual Studio 2017でこのような問題が発生しました。私の原因は、NETFXSDKDirの不適切な環境設定であることがわかりました。具体的には:
NETFXSDKDir=C:\Program Files (x86)\Windows Kits\NETFXSDK\4.6.1
次の値が必要です。
C:\Program Files (x86)\Windows Kits\10\Lib\10.0.10240.0\um\x86
ここでより詳細な応答があります:
VS2013からVS2017へのいくつかのプロジェクトの次のアップグレードがありました。
元のプロジェクトでは、プロジェクト設定の[VC++ディレクトリ]の下の[ライブラリディレクトリ]項目が手動で変更されていました。
これは、アップグレードから変更を取得しなかったことを意味します。
このオプションを使用すると、デフォルト以外のものが必要ないことを条件に、これが動作するものにリセットされます(SDKが正常にインストールされている場合)。私の場合、v7.1 SDKをポイントしようとしていましたが、vs2017にはインストールされていませんでした。
このエラーは致命的エラーlnk1104でした。「kernel32.lib」ファイルを開けません。 VC++ディレクトリにパスがないため、このエラーが発生しています。この問題を解決するには
私の場合、C:\ Program Files\Microsoft SDKs\Windows\v6.0A\Libです
ありがとうございました。