4

最近、OpenGL を学び始めました。次に、OpenGL 4.3 を使用する OpenGL SuperBible 第 6 版を読み始めました。

私の問題は sb6.h ヘッダー ファイルにあります。本では、これは、アプリケーション クラスの宣言を含む sb6 という名前空間を定義する C++ ヘッダー ファイルであると書かれているためです。

プログラムをコンパイルしようとすると、C++ IDE (Visual Studio 2010) がそのようなヘッダー ファイルが見つからないというエラーをスローします。

ですから、この問題について聞いたことがある人、またはこの本を読み始めて、この問題を解決する方法を知っている人がいるかもしれません。もしそうなら、返信してください。

#include "sb6.h"

//derive my_application from sb6:application

class my_application : public sb6.application
{
public : 

   //Rendering function
   void render(double currentTime){

   //Simply clear the window red
   static const GLfloat red[] = {1.0f , 0.0f , 0.0f , 1.0f};

  glClearBufferfv(GL_COLOR, 0 , red) ; 
}
4

1 に答える 1

9

探している sb6.h ファイルは次の場所にあります: https://github.com/openglsuperbible/sb6code/blob/master/include/sb6.h また、そのプロジェクトについてナビゲートし、ソース/取得の残りを表示することもできます必要なその他のファイル。それらをローカルドライブ/ディレクトリにコピーするときは、ヘッダーを含む新しいディレクトリのパスをインクルードパスに追加し、ライブラリをlibパスなどに追加してください。そうしないと、同じエラーが引き続き発生します。

それらをプロジェクト ディレクトリに直接追加しない限り (すべての gl プロジェクトでコンテンツを大量に繰り返すことになるため、お勧めしません。それらを 1 つの場所に配置してパスを追加することをお勧めします)。パスを定義します。

追加:

ヘッダー、ライブラリなどを含めるには、次のようにします。

すべての sb6 プロジェクトをダウンロードし、どこかに保存します (例: c:\sb6\) 次に、ここにパス をProperty Pages -> VC++ Directories -> Include Directories 追加 してから、ライブラリを via: to here: に追加し、最後にソース コード ディレクトリ via: here: を追加します。c:\sb6\include\ヘッダファイルProperty Pages -> VC++ Directories -> Library Directorieslib ファイルProperty Pages -> VC++ Directories -> Source Directoriesソースファイル

エラー LNK2019 を修正するには: 関数 ___tmainCRTStartup で参照されている未解決の外部シンボル _main

これは通常リンカの問題であり、ほとんどの場合、間違ったプロジェクト タイプが選択されている (つまり、Windows コンソール プロジェクトではなく Windows プログラム プロジェクトを選択している) ために発生します。次の手順で修正できます。

Project -> Properties -> Configuration Properties -> Linker -> Systemエントリに移動して、にSubsystem変更しますConsole

ここに示されています: サブシステムをコンソールに変更

必要に応じて拡張できます。

于 2013-11-05T13:20:54.777 に答える