5

私のプロジェクトでは、非公式の opengl SDK の freeglut ライブラリを使用したいと考えています。

Premake を使用して、vs2010 のビルド ファイルを生成しました。次に、すべてのライブラリをビルドしました (デバッグ)。私のプロジェクトでは、追加のインクルード ディレクトリ、追加のライブラリ ディレクトリを freeglut 用に設定しました。追加の依存関係で、freeglutD.lib を追加しました。

コードには、freeglut ヘッダーを含めるだけです。プログラムを実行しようとすると、エラーが発生します。

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

の唯一のファイルは freeglutD.lib ですsdk/freeglut/libfreeglut.dllSDKにはandはありませんfreeglut.lib

以前は、動的にリンクされている (freeglut.dll を含む) リンクから freeglut 2.8.0 MSVC パッケージを使用していましたが、すべて正常に動作しました。

なにが問題ですか ?

4

2 に答える 2

4

私の推測では、SDK の使用に関するドキュメントから次の行を忘れてしまったようです。

また、コマンド ラインにいくつかの #defines を追加する必要があります。これらは:

  • FREEGLUT_STATIC
  • _LIB
  • FREEGLUT_LIB_PRAGMAS=0

FREEGLUT_STATIC静的にリンクしていることを GLUT に知らせるために必要です。それ以外の場合は、DLL を探します。

于 2012-08-25T11:54:14.597 に答える
0

VS12 の古いプロジェクトがあり、VS15 でのアップグレード後にビルドしようとすると、同じ LNK1104 エラーが発生しました。これを修正するために必要だったのは、パッケージ マネージャー コンソール (ツール - NuGet パッケージ マネージャー) を実行し、次のように入力することだけでした。

Install-Package freeglut

次のようなヘッダー ファイルの 1 つに glew.h と freeglut.h への参照があることに注意してください。

#include "..\packages\nupengl.core.0.1.0.1\build\native\include\GL\glew.h" 
#include "..\packages\nupengl.core.0.1.0.1\build\native\include\GL\freeglut.h" 
于 2015-11-21T14:06:46.110 に答える