web-dev-qa-db-ja.com

Visual Studio 2012-エラーLNK1104:ファイル 'glew32.lib'を開けません

VS 2012で基本的なopenGLプログラムのコンパイルに問題があります。コンパイル時にビルドエラーが発生します。

1>LINK : fatal error LNK1104: cannot open file 'glew32.lib'

GLEWのドキュメントに記載されている指示に従いました。

OpenGLプロジェクトで、[プロジェクト]-> [プロパティ]-> [構成プロパティ]-> [リンカー]-> [入力]-> [追加の依存関係]-> glew32.libを追加します。

また、ソースに#includeを含める必要があります。 glewフォルダーへの追加パス:プロジェクト->プロパティ->構成プロパティ->一般-> VC++ディレクトリ->ディレクトリとライブラリディレクトリを含める。

C/C++タブ->一般->追加のインクルードディレクトリ-libフォルダーを追加します

また、プロジェクトフォルダー内のデバッグフォルダーに実行可能ファイルと共にglew32.dllを追加しました。これまでのところ、このエラーが発生し続けています。

あなたがこれまでに行ったステップをさらに明確にする必要がある場合は、遠慮なく尋ねてください

15

別のプロジェクトからクラスを使用する手順(ヘッダーとソルバーのリンカーエラーを追加)

  1. 別のプロジェクトからヘッダーを追加できるようにするには、最初に "Properties> c ++> General> Additional Include Directories"に移動し、ヘッダーを含むディレクトリを追加します。これで、他のプロジェクトからクラスのヘッダーを追加できるようになりますが、プロジェクトを実行すると依然としてリンカーエラーが発生します。

  2. 他のプロジェクトに使用しているクラスの前に__ declspec(dllexport)を追加します。これは、そのクラスのヘッダーファイルに追加できます。これは、関数、変数、またはクラス名の直前に追加する必要があります。これで、libファイルが取得されます。 (間違った場所に配置すると、この警告を受け取ることができます: https://msdn.Microsoft.com/en-us/library/eehkcz60.aspx

  3. 「プロパティ>リンカ>追加のライブラリディレクトリ」。生成されるlibファイルの場所を指定します。

  4. 「プロパティ>リンカ>入力>追加の依存関係」:libファイルの名前を追加します。

2
Mohith Maratt

この状況下で私に起こりました、私は解決策をきれいにして、それを再び構築します、そして、LNK1104のような多くのエラーが発生します。

IISを再起動しようとした後、LNK1104エラーなしでソリューションを正常にビルドしました。理由はわかりませんが、IISの再起動には通常よりもかなり時間がかかるため、他のIIS.

この魔法があなたに起こるかどうかを確認するためにショットを与えてください。

2
David

これは、ライブラリが依存関係として指定されているように聞こえますが、リンカ/追加の検索パスは、ライブラリが配置されているディレクトリを含むように設定されていません。

これが役立つ場合があります

1

この質問は古く、解決済みとマークされていますが、まったく別のソリューションで同様の問題の症状がありました。誰かがここでつまずいた場合に備えて:
1つのソリューション(dllとexe)の下に2つのプロジェクトがあるため、ビルドの順序が(出力ウィンドウから)混在しているように見えました。

1> Rebuilding project1..
2> Rebuilding project1..
1> file1.cpp
2> file1.cpp

等々。コピーしたメッセージから、1つのソリューションの下に複数のプロジェクトがあることもわかります。 1つのプロジェクトは、他のビルドがまだ作成していない* .libファイルを探していました。
溶液:
「メイン」プロジェクトを右クリック->ビルドの依存関係->プロジェクトの依存関係..->メインのプロジェクトが依存するプロジェクトをマークします。

1
yoad w