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

Archives Details

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

C

2024.04.27

この記事は最終更新日から1年以上が経過しています。

どもです。

最近プライベートでは、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

Rustでつくる ふっかつのじゅもん

Rust

2025.04.29

Tauri(Rust) × AI で作る GitGUIクライアントアプリ その5

Rust

2025.04.14

う、動くぞ! Mac mini Apple M4 Pro で PS3ソフトを遊ぶ。RPCS3 Mac版を起動

Game

2025.04.12

Tauri(Rust) × AI で作る GitGUIクライアントアプリ その4

Rust

2025.04.10

Tauri(Rust) × AI で作る GitGUIクライアントアプリ その3

Rust

2025.04.08

Tauri(Rust) × AI で作る GitGUIクライアントアプリ その2

Rust

2025.04.07

時代を先取りし過ぎた ニューラルネットワークが導入されたゲーム『がんばれ森川君2号』を令和に嗜んでみる。

Game

2025.04.06

Tauri(Rust) × AI で作る GitGUIクライアントアプリ その1

Rust

2025.04.05

keyring-rsで、Macのキーチェーンに登録する。

Rust

2025.04.04

RustとWebAssemblyによるゲーム開発 Webpack5対応

Rust

2025.03.27

Rustで創る MOS 6502 CPU その3 (Cursorと共に)

Rust

2025.02.24

あけましておめでとうございます(24日経過)

イベント

2025.01.24

RANKING

Follow

SPONSOR

現在、掲載募集中です。



Links

About Us

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

Entry Profile

Graphical FrontEnd Engineer
- Daisuke Takayama

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

FOLLOW US