このサイトは、只今WEB業界で活躍中のデザイナー、プログラマーの方々の情報を集めたweb統合情報サイトです。

Archives Details

M1 Macで、OpenGL GLUTを使ってコンパイルする

C

2024.04.27

どもです。

最近プライベートでは、Rust Actix Web使って、サーバー開発を行っていたのですが、ちょっと飽きてきたので、再びOpenGLの開発でもと。

やはり、しばらく開発を離れるとすぐ忘れるお年頃になるので、忘れないようにと備忘録程度の記事です。また、新規のWindows機も届いて、WSL2、C/C++環境、OpenGL環境と整えてきたので(ちょっとどうしようか悩んではいる。)そちらも、そのうちまとめようかと。

 

GCCコマンドでOpenGL GLUTをコンパイル

まず、Mac OS X では標準でOpenGLとGLUT が使え、Developer Toolsをインストールすればコンパイル環境も一応揃う。とりあえず、gccでのコンパイル環境が整っていれば、M1 Macでは、

gcc -framework GLUT -framework OpenGL <program file> -o <output file>

で、コンパイルが可能。-o <output file> は省略可能なので、例えば、

gcc -framework GLUT -framework OpenGL program.c

を実行すると、a.out ファイルが出力され、./a.out コマンド入力で実行。

無事、OpenGL GLUTを使用しているプログラムもコンパイルでき実行できる。

が、ネットで上がっていたり、書籍に書かれていたりするプログラムは、

#include <GL/glut.h>

この形でGLUTをincludeされいるので、そのままコンパイルしようとすると、

fatal error: GL/glut.h: No such file or directory
    5 | #include <GL/glut.h>
      |          ^~~~~~~~~~~

headerファイルが無いよと。コンパイルエラーになる。

それを回避するため、headerファイルのシンボリックリンクを貼る形となるのですが、

mkdir /usr/local/include/GL
cd /usr/local/include/GL/
sudo ln -s /System/Library/Frameworks/GLUT.framework/Headers/glut.h .

 

最近では、Headersが存在していなくシンボリックリンクを貼れなかっりする。

どの場所に存在するのかちょっと探れていないのですが、回避策として、

#include <GL/glut.h>

を、

#include <GLUT/glut.h>

に変更すれば、無事GLUTのヘッダーファイルもincludeされ、コンパイルできる。

しかし、できればプログラムを変更せずそのままコンパイルできれば良いなと思っており、GLUT Headersの行方を探っている今日このごろです。

Comment

Related Article

M1 Macで、OpenGL GLUTを使ってコンパイルする

2024.04.27

Mac(gcc)で、C言語関数 getch関数を使う。

2020.12.05

Mac Home brewでSDL2.0を簡単に環境設定

2020.06.24

C言語 配列

2016.07.04

C言語 繰り返し文

2016.07.03

C言語 if文・switch文・論理演算子

2016.07.02

C言語の基礎・基本

2016.07.01

Macでの C・C++言語 のエディタ・IDE選び

2016.07.01

CATEGORY LIST

LATEST NEWS

M1 Macで、OpenGL GLUTを使ってコンパイルする

C

2024.04.27

Rust - Actix Web mongo ユーザー登録 JWT認証

Rust

2024.03.24

Rust - Actix Web JWT 認証認可 APIの作成

Rust

2024.02.25

Rust - Actix Web × JSON 静的ファイルをAPIで返却

Rust

2024.01.19

Rust - Actix Web × MongoDB環境をサクッと起動

Rust

2024.01.18

5分で学ぶ RustでWave Function Collapse (波動関数崩壊アルゴリズム)

Rust

2024.01.15

LLaMAモデル GGMLフォーマット(llama.cpp)をRustフレームワーク Leptosを用いて M1MacMiniでサクッと動かす。

Rust

2024.01.11

2024年 狙っているモバイルノートPC

tool

2024.01.07

MacOS XcodeにSDL2を追加

tool

2023.12.26

php 7.4にアップデート

PHP

2023.12.24

5分で覚える Flutter Flameで作る Wave Function Collapse - 波動関数崩壊アルゴリズム

AI・Bot・algorithm

2023.12.20

Flutter - Flameでゲーム作成 (キャラクターの移動)

Flutter

2023.07.23

RANKING

Follow

SPONSOR

現在、掲載募集中です。



Links

About Us

WEBデザイナーの、WEBデザイナーによる、WEBデザイナーの為のサイト。「みんなで書こう!」と仲間を募ってみたが、結局書くのは自分だけとなってしまいました。日々のメモを綴っていきます。

Entry Profile

Graphical FrontEnd Engineer
- Daisuke Takayama

MAD CITY 北九州市で生まれ育つ。20代はバンド活動に明け暮れ、ふと「webデザイナーになりたい。」と思い、デジタルハリウッド福岡校入学。卒業後、数々の賞を受賞、web業界をざわつかせる。
現在、主に、ゲーム制作中心に港区六本木界隈で活動中。

FOLLOW US