ステップ 1: CMAKE を使用してシステムに GLFW 3 をインストールする
このインストールでは、KUbuntu 13.04、64 ビットを使用していました。
最初のステップは、おそらくこのリンクを使用して、 www.glfw.orgから最新バージョンをダウンロードすることです (将来のバージョンも同様の方法で動作すると仮定します) 。
次のステップは、アーカイブを抽出し、ターミナルを開くことです。cd
glfw-3.XX ディレクトリに移動して実行cmake -G "Unix Makefiles"
するには、昇格された特権が必要な場合があり、最初にビルドの依存関係をインストールする必要がある場合もあります。これを行うには、私が使用したように、手動で試しsudo apt-get build-dep glfw
て sudo apt-get build-dep glfw3
ください ... pthreadライブラリなど、必要な他のライブラリがあるかもしれません...どうやら私はすでにそれらを持っていました。(以下の g++ リンカー ステージに指定された -l オプションを参照してください。)sudo apt-get install cmake xorg-dev libglu1-mesa-dev
make
これで、入力してからを入力できます。make install
おそらく最初に入力する必要がありますsudo
。
わかりました。最後の 3 つの CMake ステージで詳細な出力が得られ、何がビルドされたか、またはどこに配置されたかがわかります。(/usr/include
たとえば、 で。)
ステップ 2: テスト プログラムを作成してコンパイルする
次のステップは、vim ("what?! vim?!" と言う) または好みの IDE/テキスト エディターを起動することです... 私は KUbuntu 13.04 を使用しているため、vim を使用せず、Kate を使用しました...とにかく、ここ(ページの下部)からテストプログラムをダウンロードまたはコピーして保存し、終了します。
次を使用してコンパイルしますg++ -std=c++11 -c main.cpp
-c++ 11が必要かどうかはわかりませんがnullptr
、私は必要でした... gccをバージョン4.7、または次のバージョン4.8にアップグレードする必要があるかもしれません...その情報はこちら.
手でプログラムを入力したり、「巧妙すぎる」ことを試みて何かがうまくいかなかった場合は、エラーを修正してください...そして、このモンスターを使用してリンクしてください! g++ main.o -o main.exec -lGL -lGLU -lglfw3 -lX11 -lXxf86vm -lXrandr -lpthread -lXi
ご覧のとおり、「ビルド依存関係のインストール」の部分で、GL、GLU、X11 Xxf86vm (何であれ) Xrandr posix-thread および Xi (それが何であれ)開発ライブラリもインストールされていることを確認することもできます。グラフィックドライバーも更新してください。GLFW 3 には OpenGL バージョン 3 以降が必要かもしれません。おそらく誰かがそれを確認できますか?-ldl -lXinerama -lXcursor
未定義の参照を取得している場合は、リンカー オプションを追加して正しく動作させる必要がある場合もありますdlclose
(@ user2255242 へのクレジット)。
そして、はい、本当にたくさん-l
の が必要でした!
ステップ 3: これで終わりです。よい一日を!
願わくば、この情報が正しく、すべてがうまくいき、GLFW テスト プログラムの作成を楽しんでいただければ幸いです。また、このガイドが、昨日の私のように苦労していた将来の何人かの人々を助けたこと、または助けてくれることを願っています!
ちなみにタグはすべて、存在しなかった答えを求めてstackoverflowで検索したものです。(今まで。) もしあなたが私と同じような立場にいたなら、それらがあなたが検索したものであることを願っています.
著者注:
これは良い考えではないかもしれません。この方法 (sudo make install を使用) は、システムに有害な場合があります。(Debian を壊さないでくださいを参照)
理想的には、私または他の誰かが、lib ファイルなどをシステムの既定のディレクトリにインストールするだけでなく、これらは などのパッケージ マネージャーで管理する必要があるため、解決策を提案する必要がありますapt
。そうすると、競合が発生し、パッケージ管理システムが壊れる可能性があります。
代替ソリューションについては、新しい「2020年の回答」を参照してください。