2023/12/29(金) [n年前の日記]
#1 [prog] Visual Studio 2019 で GLFW が使えそうか試してみた
Windows10 x64 22H2 + Visual Studio 2019 Community で、NuGet とやらを使って GLFW を利用できる状態にできるのか試してみた。
GLFW というのは、OpenGL を利用しやすくするライブラリ、という説明でいいのだろうか。
_An OpenGL library | GLFW
_床井研究室 - (1) GLFW で OpenGL を使う
GLFW というのは、OpenGL を利用しやすくするライブラリ、という説明でいいのだろうか。
_An OpenGL library | GLFW
_床井研究室 - (1) GLFW で OpenGL を使う
◎ 参考ページ :
_Visual Studio + GLFW 簡単導入 #OpenGL - Qiita
_Windows 10でOpenGLをGLFWとGLEW、GLMで開発する環境を作りWindowを表示する | 測度ゼロの抹茶チョコ
_VisualStuidoでOpenGLする。 #C++ - Qiita
_GLFWでOpenGLを始めるには in 2019 on Windows #OpenGL - Qiita
_NuGet Gallery | glfw 3.3.9
_[VC++] リンクするライブラリファイルをソースコード内に記述する | あみだがみねのもろもろ備忘録
_GLFW メモ
_Windows 10でOpenGLをGLFWとGLEW、GLMで開発する環境を作りWindowを表示する | 測度ゼロの抹茶チョコ
_VisualStuidoでOpenGLする。 #C++ - Qiita
_GLFWでOpenGLを始めるには in 2019 on Windows #OpenGL - Qiita
_NuGet Gallery | glfw 3.3.9
_[VC++] リンクするライブラリファイルをソースコード内に記述する | あみだがみねのもろもろ備忘録
_GLFW メモ
◎ プロジェクト作成手順 :
参考ページの通りに作業していけば GLFW の導入はできるのだけど…。せっかく手元で作業してみたので、自分も手順をメモしておく。
まずは、プロジェクトを新規作成。Visual Studio 2019 Community を起動。「新しいプロジェクトの作成」を選ぶ。
「コンソールアプリ」を選択して、「次へ」。
プロジェクト名と保存場所を指定して、「作成」。
プロジェクトが作成された。
一応、ソリューションの構成を「Release」にしておく。GLFW や GLEW 関連のバイナリファイルは「Debug」用ではなく「Release」用でビルドされているという話をどこかで見かけたので、念のために…。その横の「x86」「x64」は、「x64」(64bit版をビルド)にしておいた。
![glfw_vs2019_ss05.png](img/_2023/20231229_glfwonvs2019/glfw_vs2019_ss05.png)
一旦、この状態で、単なるコンソールアプリとしてビルドできそうなのか試しておく。ビルド → ソリューションのビルド、を選択。もしくは、Ctrl + Shift + B を叩いても良い。
ビルドが始まって、.exe が生成された旨が表示された。
実行は、デバッグ → デバッグなしで開始。もしくは、Ctrl + F5 を叩いてもいいし、F5 だけを叩いてもいい。
![glfw_vs2019_ss08.png](img/_2023/20231229_glfwonvs2019/glfw_vs2019_ss08.png)
DOS窓が開いて、「Hello World!」が表示された。ビルドは成功しているらしい。
出来上がった .exe は、(プロジェクト保存場所)\x64\Release\ の中に保存されている。
まずは、プロジェクトを新規作成。Visual Studio 2019 Community を起動。「新しいプロジェクトの作成」を選ぶ。
「コンソールアプリ」を選択して、「次へ」。
プロジェクト名と保存場所を指定して、「作成」。
プロジェクトが作成された。
一応、ソリューションの構成を「Release」にしておく。GLFW や GLEW 関連のバイナリファイルは「Debug」用ではなく「Release」用でビルドされているという話をどこかで見かけたので、念のために…。その横の「x86」「x64」は、「x64」(64bit版をビルド)にしておいた。
![glfw_vs2019_ss05.png](img/_2023/20231229_glfwonvs2019/glfw_vs2019_ss05.png)
一旦、この状態で、単なるコンソールアプリとしてビルドできそうなのか試しておく。ビルド → ソリューションのビルド、を選択。もしくは、Ctrl + Shift + B を叩いても良い。
ビルドが始まって、.exe が生成された旨が表示された。
実行は、デバッグ → デバッグなしで開始。もしくは、Ctrl + F5 を叩いてもいいし、F5 だけを叩いてもいい。
![glfw_vs2019_ss08.png](img/_2023/20231229_glfwonvs2019/glfw_vs2019_ss08.png)
DOS窓が開いて、「Hello World!」が表示された。ビルドは成功しているらしい。
出来上がった .exe は、(プロジェクト保存場所)\x64\Release\ の中に保存されている。
◎ NuGetでGLFWをインストール :
NuGet とやらを使って、GLFW をインストールしてみる。
プロジェクト → NuGetパッケージの管理、を選択。ちなみに、何かしらのプロジェクトを開いている状態じゃないと、この項目は選択できないと思う。この NuGetパッケージとやらは、プロジェクトの保存場所にインストールされるので…。
![glfw_vs2019_ss10.png](img/_2023/20231229_glfwonvs2019/glfw_vs2019_ss10.png)
NuGetパッケージマネージャーの画面が開くので、「参照」をクリックしてから、「glfw」と打って検索する。glfw がリストアップされるのでクリックして選択。右側の「インストール」ボタンをクリック。
「インストールしていいか?」的なダイアログが開くので、「OK」をクリック。
![glfw_vs2019_ss12.png](img/_2023/20231229_glfwonvs2019/glfw_vs2019_ss12.png)
これで、glfw関連ファイルが ―― 今回は glfw 3.3.9 が、プロジェクトフォルダ内にインストールされた。(プロジェクトフォルダ)\packages\glfw.3.3.9\ に入っている。
プロジェクト → NuGetパッケージの管理、を選択。ちなみに、何かしらのプロジェクトを開いている状態じゃないと、この項目は選択できないと思う。この NuGetパッケージとやらは、プロジェクトの保存場所にインストールされるので…。
![glfw_vs2019_ss10.png](img/_2023/20231229_glfwonvs2019/glfw_vs2019_ss10.png)
NuGetパッケージマネージャーの画面が開くので、「参照」をクリックしてから、「glfw」と打って検索する。glfw がリストアップされるのでクリックして選択。右側の「インストール」ボタンをクリック。
「インストールしていいか?」的なダイアログが開くので、「OK」をクリック。
![glfw_vs2019_ss12.png](img/_2023/20231229_glfwonvs2019/glfw_vs2019_ss12.png)
これで、glfw関連ファイルが ―― 今回は glfw 3.3.9 が、プロジェクトフォルダ内にインストールされた。(プロジェクトフォルダ)\packages\glfw.3.3.9\ に入っている。
◎ GLFWを使ったソースを書く :
◎ ビルドする :
Ctrl + Shift + B を叩いてビルドしてみると、以下のようなエラー(リンクエラー)が出てしまった…。
利用するライブラリファイルとして opengl32.lib を追加しないと、こういうエラーが出てしまうらしい。
ソリューションエクスプローラ上で、プロパティのボタンをクリックして、プロパティを表示する。
![glfw_vs2019_ss14.png](img/_2023/20231229_glfwonvs2019/glfw_vs2019_ss14.png)
構成プロパティ → リンカー → 入力、と辿って、追加の依存ファイル、を編集する。右側の小さい下向きのボタンをクリックすると「<編集...>」という項目があるので、ソレをクリック。
「追加の依存ファイル」に、opengl32.lib を追加記入してやる。
あるいは、ソースコードの最初のほうに、「#pragma comment(lib, "opengl32.lib")」と書いてしまってもいい。この記述をすることで、リンカに、「opengl32.lib というライブラリファイルも利用せよ」と指示を出せるらしい。
この状態でビルド(Ctrl + Shift + B)したところ、ビルドが成功した。実行(Ctrl + F5)すると、三角形が描かれた。
利用するライブラリファイルとして opengl32.lib を追加しないと、こういうエラーが出てしまうらしい。
ソリューションエクスプローラ上で、プロパティのボタンをクリックして、プロパティを表示する。
![glfw_vs2019_ss14.png](img/_2023/20231229_glfwonvs2019/glfw_vs2019_ss14.png)
構成プロパティ → リンカー → 入力、と辿って、追加の依存ファイル、を編集する。右側の小さい下向きのボタンをクリックすると「<編集...>」という項目があるので、ソレをクリック。
「追加の依存ファイル」に、opengl32.lib を追加記入してやる。
あるいは、ソースコードの最初のほうに、「#pragma comment(lib, "opengl32.lib")」と書いてしまってもいい。この記述をすることで、リンカに、「opengl32.lib というライブラリファイルも利用せよ」と指示を出せるらしい。
この状態でビルド(Ctrl + Shift + B)したところ、ビルドが成功した。実行(Ctrl + F5)すると、三角形が描かれた。
◎ 余談。glew_static について :
[ ツッコむ ]
以上、1 日分です。