3

UbuntuでOpenGL開発環境をセットアップしようとしています.GLUTを使いたくないので、GLFWを含むすべてのライブラリをインストールしました.GLEW libもインストールされています.NetBeansですべて設定しようとしています.使用したことはありません.以前と現在私は取得しています:

この単純なコードの実行中に「glfwInit」エラーへの未定義の参照:

#include <stdio.h>
#include <cstdlib>
#include <iostream>
#include <GL/glew.h>
#include <GL/glfw.h>
#include "glm.hpp"
using namespace std;
using namespace glm;

int main(int argc, char** argv) {


 /*      init GLFW         */
    if(!glfwInit()){

        fprintf(stderr,"failed to init GLFW");

     }
    return 0;
}

私はそれがリンカ関連の問題であると確信しています。そのため、libglfw.a をリンカ -> ライブラリに追加したところ、次のようなエラーがさらに発生しました。

make[2]:ディレクトリ/home/sasmaster/NetBeansProjects/OpenGLDemo' mkdir -p dist/Debug/GNU-Linux-x86 g++ -o dist/Debug/GNU-Linux-x86/opengldemo build/Debug/GNU-Linux-x86/main.o /usr/lib/libglfw.a /usr/lib/libglfw.a(window.o): In functionに入る/lib/libglfw.a(x11_init.o): 関数内 _glfwPlatformTerminate': /usr/lib/libglfw.a(x11_window.o): 関数内translateKey': /usr/lib/libglfw.a(x11_window.o):関数translateChar で: ........................................................................_glfwPlatformInit': /usr/lib/libglfw.a(x11_init.o): In function_glfwPlatformInit': /usr/lib/libglfw.a(x11_init.o): In function_glfwPlatformTerminate': /usr/lib/libglfw.a(x11_init.o): In functiontranslateKey': /usr/lib/libglfw.a(x11_window.o): In functiontranslateKey': /usr/lib/libglfw.a(x11_window.o): In function

他に何をリンクまたはインストールする必要がありますか?

更新: LIBRARIES ='-pthread -lglfw -lGL -lX11 -lGLU -lXxf86vm' を追加する必要があると言われていますが、NetBeans プロパティのどこに追加すればよいですか? MakeFileと「リンカーオプション」にも入れてみましたが、何も役に立ちませんでした。

Update1 次のコマンドを使用して main.cpp を手動でコンパイルします。

**g++ main.cpp  -o Game -lglfw -lGL -lGLU -lX11 -lpthread -lXxf86vm -lm**

正常にコンパイルされます。これらすべてのライブラリを NetBeans 経由でリンクするにはどうすればよいですか?

4

1 に答える 1

5

解決策を見つけました。興味のある方は、プロジェクトのプロパティを開きます。次に、「リンカー」 -> 「ライブラリ」。[ライブラリ] ダイアログで: [オプションの追加] -> [その他のオプション] をクリックします。テキストフィールドに次のパラメーターを挿入します。

-lGLEW -lglfw -lGL -lGLU -lX11 -lpthread -lXxf86vm -lm

古いバージョンの OpenGL を使用する場合にのみ、lGLU が必要になると思います。

于 2013-01-09T16:33:52.427 に答える