web-dev-qa-db-ja.com

致命的なエラーLNK1104:ファイル 'gdi32.lib'を開けません

コードを実行しようとするたびに、このエラーが発生します。 SDKをインストールしてすべてを試しましたが、同じエラーが表示されます。

1>------ Build started: Project: ConsoleApplication6, Configuration: Debug Win32 ------
1>LINK : fatal error LNK1104: cannot open file 'gdi32.lib'
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

Windows 7とVisual Studio 2012を使用しています。

24
JSK

Visual Studio 2017でこの問題が発生した場合、Windows 10 Creators Updateの問題です。

回避策は、Visual Studio Installerの「C++を使用したデスクトップ開発」ワークロードで「デスクトップC++ x86およびx64用のWindows 10 SDK(10.0.15063.0)」を選択することです。

https://www.visualstudio.com/en-us/news/releasenotes/vs2017-relnotes#KINativeDesktopWorkload

52
user7880029

Visual Studio 2017(Communityエディション)では、プロジェクトプロパティのWindows SDKバージョンを10.0.10586.0から10.0.16299.0(マシンにインストールしたバージョン)に切り替えることでこれを解決しました。

方法は次のとおりです。

  1. Visual Studioで、プロジェクトのプロパティに移動します。

enter image description here

  1. インストールされているSDKバージョンを選択します。

enter image description here

参照: VSの開発者コミュニティ

9

Windows 10上のVisual Studio 2015で同じ問題を抱えている人にとっては、インストールが壊れていた可能性があります。その場合、インストールプログラムを起動して「修復」を行います。

Visual Studia 2015 Update 1 RCもインストールすることをお勧めします。

それは私のために働いた...

6
Diogyn

解決するには、_gdi32.lib_ファイルを含むフォルダーを見つける必要があります。

私のシステムでは、C:\Program Files (x86)\Windows Kits\10\Lib\10.0.10240.0\um\x86で見つけました。

プロジェクトのプロパティシートに追加するだけです。他の投稿で説明されているように、メニュープロジェクトプロパティ次にVC++ディレクトリ。上部にパスを追加します。

0
Brian

別のコンピューターからコードを移動した場合、プラットフォームで間違ったSDKを使用している可能性があります。プロジェクトのプロパティ→一般Windows SDKバージョンを確認し、リストに表示されているものに設定します。

0
IllidanS4

私はWindows 8.1 Visual Studio 2017 Professionalを使用しています。プロジェクトプロパティのWindows SDKバージョンを8.1に切り替え、ビルドしてから10.0.16299.0に戻した後、動作するようになりました。

CUDAサンプルプロジェクトをコンパイルしようとしていました。

うまくいきました。理由を聞かないでください。たぶん、Visual Studio Community 2017を所有していて、それをアンインストールしてプロフェッショナルをインストールすることと関係があるのか​​もしれません。

0
Mike Lee

私の理解では、ライブラリのパスは定義されていません。

プロジェクトを右クリック->プロパティ

[構成プロパティ]の[リンカー]タブで、[追加のライブラリディレクトリ]の[全般]を選択します。 gdi32.libのパスを選択します。

Enter image description here

次に、Inputタブに移動します(Generalタブの下)。

ダブルクリックするか、編集を選択してgdi32.libを追加します。

Enter image description here

最後に「gdi32.lib」を追加してクリックします OK

Enter image description here

ちなみに、Visual Studio 2013 Ultimate Editionでは、デフォルトでgdi32.libがあります。

それがあなたの問題を解決することを願っています。

0
Ahmet Tavli