に投稿に更新
【GLFW】MacでGLFWを使用する最小環境のプロジェクトを作成する
目次
手順(ローカルファイルでリンク)
- ライブラリのダウンロード
- ファイル移動
- ダウンロードしてきたファイルを以下の構造でフォルダに配置する
main.cpp
は自分で作成する
1 2 3 4 5 6 7 8 9 10
| - glfwTest/ |- include/GLFW/ | |- glfw3.h | |- glfw3native.h | |- lib-x86_64/ | |- libglfw.3.dylib* | |- libglfw3.a | |- main.cpp
|
- main.cppにコードを記述
- warningが出る場合は、
#define GL_SILENCE_DEPRECATION
をファイルの一番最初の行に追記する
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
| #include "include/GLFW/glfw3.h"
int main(void) { GLFWwindow *window;
if (!glfwInit()) return -1;
window = glfwCreateWindow(640, 480, "Hello World", NULL, NULL); if (!window) { glfwTerminate(); return -1; }
glfwMakeContextCurrent(window);
while (!glfwWindowShouldClose(window)) { glClear(GL_COLOR_BUFFER_BIT);
glfwSwapBuffers(window);
glfwPollEvents(); }
glfwTerminate(); return 0; }
|
- コンパイル
- macでコンパイルする場合は、以下のフレームワークが必要です。
- Cocoa
- OpenGL
- IOKit
- CoreFoundation
- CoreVideo
1
| gcc main.cpp lib-x86_64/libglfw3.a -framework Cocoa -framework OpenGL -framework IOKit -framework CoreFoundation -framework CoreVideo
|
- 実行
- 出力された、
a.out
ファイルを実行してウィンドウが表示されればOK
手順(brewで管理)
homebrewでインストール
確認
- インストールされているパスを確認します。
/usr/local/Cellar/glfw/3.34
がインストールされているパスになります。
1 2 3 4 5 6
| > brew info glfw
glfw: stable 3.3.4 (bottled), HEAD Multi-platform library for OpenGL applications https://www.glfw.org/ /usr/local/Cellar/glfw/3.3.4 (14 files, 545KB) *
|
gcc
or clang
のIncludeディレクトリのパスを設定する
- zshの場合
.zshrc
に、bashの場合.bashrc
に追記してください
- これが設定されていないと、ビルドに失敗します。
1
| export CPLUS_INCLUDE_PATH = "/usr/localCellar/"
|
- コンパイル
- -lglfw : glfw本体
- -frameworkたち : glfwが使うフレームワークたち
1
| gcc main.cpp -lglfw -framework Cocoa -framework OpenGL -framework IOKit -framework CoreFoundation -framework CoreVideo
|
参考
「’glClear’ is deprecated: first deprecated in macOS 10.14 - OpenGL API deprecated.」の対策
原因
- OpenGLはmacOS10.14から非推奨になり、Metalが推奨される様になっています。
解決策
#define GL_SILENCE_DEPRECATION
をコードの先頭につけることでOpenGL API deprecated.
の警告が出ないようになります。