私は最近、「拡張現実: 実践ガイド」という本を購入しました。Windows、MacOS、および Linux で動作するサンプル コードがあります。
しかし、バイナリを実行できません。この本とUbuntuで実行するバイナリを持っている人はいますか?
また、Ubuntu でサンプルをコンパイルする方法もわかりません。どうすればいいですか?
これが何をするかです:
Linux 用のコンパイル
さわやかに、この章のプログラムを Linux 用にコンパイルするために必要な変更はありませんが、Windows の場合と同様に、最初に GL および GLUT ファイルを見つける必要があります。これは、マシンに適したバージョンの GLUT をダウンロードする必要があることを意味する場合があります。
GL、GLU、および GLUT ライブラリにリンクし、GLUT ヘッダー ファイルとそれに含まれるファイルへのパスを指定する必要があります。
/usr/include/GL
ディレクトリに glut.h ファイルがあるかどうかを確認します。コマンドを使用しfind / -name "glut.h"
てマシン全体を検索するか、locate コマンド (locate glut.h
) を使用できます。パスをカスタマイズする必要があるかもしれませんが、コンパイル コマンドの例を次に示します。
$ gcc -o opengl_template opengl_template.cpp -I /usr/include/GL -I \
/usr/include -lGL -lGLU -lglut
gcc は、Linux または Unix マシンに存在する必要がある C/C++ コンパイラです。コマンドライン引数は、インクルード ファイル
-I /usr/include/GL
を探すように gcc に指示します。/usr/include/GL
この場合、glut.h とそれに含まれるものが見つかります。gcc でライブラリをリンクするときは、スイッチを使用します。ここで、X はライブラリの名前で、パスのどこかに-lX
対応するファイルがあります。この例では、ライブラリ ファイル、、およびlibX.a
をリンクしたいので、gcc 引数を使用します。これら 3 つのファイルはデフォルト ディレクトリにあるため、glut.h の場合のように場所を指定する必要はありません。ライブラリ パスを指定する必要がある場合は、パスに -L を追加します。libGL.a
libGLU.a
libglut.a
-lGL -lGLU -lglut
/usr/lib/
コンパイルしたプログラムを実行するには、
./opengl_template
or と入力します。現在のディレクトリがシェルのパスにある場合は、opengl_template
.Linux で作業する場合、テクスチャ ファイルを最大 256 x 256 ピクセルに維持するか、システムの設定を見つけてこの制限を引き上げる必要がある場合があることを知っておくことが重要です。多くの場合、OpenGL プログラムは Windows では動作しますが、Linux ではテクスチャ サイズが縮小されるまで空白の白いテクスチャが生成されます。
上記の指示は私には意味がありません。コンパイルには gcc を使用する必要がありますか? それとも Eclipse を使用できますか?
Eclipse または gcc を使用している場合、プログラムをコンパイルして実行するにはどうすればよいですか?