0

Eclipse Linux FC13 で OpenGL と Glut を実行しようとしています。

それに 2 日間費やした後、私は助けが必要であることを認めます。FC13 Eclipse では、and が表示 /usr/include/GL/usr/include/SDLれるので、ライブラリが存在します。ここで提案されているように、Eclipse を起動し、その上で簡単なプログラムを実行しようとしました。ただし、これらの手順には 2 つのことが欠けていました。

  1. Callisto をインストールできませんでした -- リポジトリから何も見つかりませんでした
  2. Eclipse 3.5.2 の GCC C++ リンカーはどこにもありません。

プログラムを実行しようとすると、次のエラーが表示されます。

プログラムが存在しません

そして時折

バイナリが見つかりません

「hello world」を実行するだけでは機能しますが、それ以外の場合は、glut gl または sdl コマンドを含めようとするたびにこれらのエラーが発生します。

コンパイラ エラーの抜粋を次に示します。

make all 
g++ -O2 -g -Wall -fmessage-length=0   -c -o tw.o tw.cpp
tw.cpp: In function ‘void main_loop_function()’:
g++ -o tw tw.o

はい、どうやらコンパイラは glu、gl、sdl、および glut ライブラリを認識できません。

修正方法に関する提案はありますか?

4

2 に答える 2

2

プログラムが追加のライブラリを使用していることをコンパイラに伝える必要があります。

-l 引数を使用する

g++ -O2 -g -Wall -fmessage-length=0  -lglut -lGL -lGLU -lX11  -c -o tw.o tw.cpp

これは、満たされていないリンク エラーを防ぐのに役立ちます。

これらは、プロジェクトのプロパティで設定できます。プロパティ -> c/c++ ビルド -> 設定 -> ツール設定 -> リンカー

于 2010-08-29T19:47:42.253 に答える
1

コンパイラが適切なヘッダー ファイルを見つけられるかどうかを確認します。そうでない場合は、コンパイラ エラーが発生します。-Iオプションを使用して、適切なパスを設定してみてください。

それを修正したら、リンカー エラー (未定義のシンボル/参照または並べ替え) があるかどうかを確認します。その場合: オプションを使用してライブラリ パスを設定し、-Lオプションを使用して特定のライブラリにリンクするようにコンパイラに依頼してください-l。後者は-lmath、実際にはリンクされているライブラリが実際に呼び出される場所libmath.soまたはlibmath.a(場合によっては) のようなものを期待していることに注意してください。

于 2010-08-29T19:42:35.510 に答える