![見出し画像](https://assets.st-note.com/production/uploads/images/133461586/rectangle_large_type_2_71108dce7ed04c08125783ea245c121c.png?width=1200)
Linux MintにopenFrameworksの環境を構築したときのメモ
普段は作品づくりをProcessingやp5.jsで行っていますが、速度を出したいときはopenFrameworks(以降oFと略します)にコードを移植したりしています。また、メインのマシンはWindowsなので比較的導入は簡単ですが、古いマシン(僕の場合はUnibodyのMacBookを入手しました)にLinux Mintをインストールして使っているので、それにoFの環境を構築してみました。少しハマったポイントがあったので備忘録として残します。
事前にoF公式サイトから、Linux用のパッケージをダウンロード
https://openframeworks.cc/ja/download/
1. 前提条件
Linux Mintは派生系のディストリビューションです。oFは公式サイトにてLinux版が配布されていますが、基本的にはDebian/Ubuntu/Fedoraにインストールするためのスクリプトが用意されています。Linux MintはUbuntuをベースにして開発されているので、どのUbuntuのバージョンかを事前に調べておく必要があります。
2. ディストリビューションのベースバージョンを調べる
ターミナル(端末)に以下のコマンドを入力することで、ベースになっているUbuntuのバージョンを知ることができます。
$ cat /etc/upstream-release/lsb-release
出力結果
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=22.04
DISTRIB_CODENAME=jammy
DISTRIB_DESCRIPTION="Ubuntu Jammy Jellyfish"
これにより、ベースのUbuntuバージョンについて知ることができました。
また、Ubuntuのリリースノートと照らし合わせると後の作業に役立つと思います。
https://wiki.ubuntu.com/Releases
3. 現在のディストリビューションのバージョン情報を書き換える
バージョン情報を一時的に書き換えることでoFのインストールが可能になります。
まず、現在の情報を確認します。
$ cat /etc/lsb-release
出力結果
DISTRIB_ID=LinuxMint
DISTRIB_RELEASE=21.3
DISTRIB_CODENAME=virginia
DISTRIB_DESCRIPTION="Linux Mint 21.3 Virginia"
このように、Linux Mintの情報が表示されていますね。
次に、このファイルのバックアップを取っておきます。
$ sudo cp /etc/lsb-release /etc/lsb-release.bak
次に、2で調べたバージョン情報を/etc/lsb-releaseに書き換えます。
$ sudo vi /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=22.04
DISTRIB_CODENAME=jammy
DISTRIB_DESCRIPTION="Ubuntu 22.04.3 LTS"
4. oFのインストール
続いてoF本体のインストール作業を行います。
ダウンロードしたoFのディレクトリに移動し、インストールスクリプトを実行してください。
$ cd openframeworks/scripts/linux/ubuntu
$ sudo ./install_dependencies.sh
少し時間が掛かります。次に、必要なコーデックのインストールを行います。
$ sudo ./install_codecs.sh
完了したら、oF本体と、ProjectGeneratorのコンパイルを行います。
$ cd ..
$ sudo ./compileOF.sh
$ sudo ./compilePG.sh
時間が掛かるので気長に待ちましょう。
以上でoFのインストールが終わりました。なお、次のステップを必ず行うようにしてください。
5. バージョン情報をもとに戻す [重要]
3.で保存しておいたバックアップから、バージョン情報を初期値に戻します。
$ sudo cp /etc/lsb-release.bak /etc/lsb-release
念の為catコマンドで確認しておきましょう。
確認できたら、/etc/lsb-release.bakは削除して構いません。
$ sudo rm /etc/lsb-release.bak
6. サンプルを動かしてみる
oFにはたくさんのサンプルが用意されています。試しに、polygonExampleというサンプルをコンパイル・実行してみましょう。(コンパイルはmakeコマンドを使用します)
$ cd openframeworks/examples/graphics/polygonExample
$ make
コンパイルが終わったら実行。
$ make run
次のウィンドウが表示されるはずです。
![](https://assets.st-note.com/img/1710036050508-GzmuRkAc68.png?width=1200)
7. ProjectGeneratorを使って新規プロジェクトを作成してみる
サンプルは動かせたので、新規プロジェクトを作成してみましょう。
ProjectGeneratorはコマンドライン版とGUI版が用意されていますが、GUI版が分かりやすいと思います。
ディレクトリに移動して、立ち上げてみましょう。
$ cd openframeworks/projectGenerator-linux64
$ ./projectGenerator
次のようなウィンドウが立ち上がるので、任意のProject nameを入力してGenerateボタンを押すと、コーディングに必要なファイルが生成されます。
![](https://assets.st-note.com/img/1710036473567-5KUhpUZKoJ.png)
あとは、openframeworks/apps/myApps/mySketch/src内のファイル、main.cpp 、ofApp.cpp、ofApp.hをお好みのテキストエディタで編集、6.の手順でビルドするフローで開発が可能になります。
![](https://assets.st-note.com/img/1710040461203-rRIrGzHDhj.png?width=1200)
なお、oFのドキュメントにはVS Codeでのセットアップ方法が記載されていますが、自分の環境ではうまくいきませんでした。VS Codeでもターミナル使えるからいいか、と考えていますがどうなんでしょうね。
参考: