mieki256's diary



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 の導入はできるのだけど…。せっかく手元で作業してみたので、自分も手順をメモしておく。

まずは、プロジェクトを新規作成。Visual Studio 2019 Community を起動。「新しいプロジェクトの作成」を選ぶ。

glfw_vs2019_ss01.png


「コンソールアプリ」を選択して、「次へ」。

glfw_vs2019_ss02.png


プロジェクト名と保存場所を指定して、「作成」。

glfw_vs2019_ss03.png


プロジェクトが作成された。

glfw_vs2019_ss04.png


一応、ソリューションの構成を「Release」にしておく。GLFW や GLEW 関連のバイナリファイルは「Debug」用ではなく「Release」用でビルドされているという話をどこかで見かけたので、念のために…。その横の「x86」「x64」は、「x64」(64bit版をビルド)にしておいた。

glfw_vs2019_ss05.png


一旦、この状態で、単なるコンソールアプリとしてビルドできそうなのか試しておく。ビルド → ソリューションのビルド、を選択。もしくは、Ctrl + Shift + B を叩いても良い。

glfw_vs2019_ss06.png


ビルドが始まって、.exe が生成された旨が表示された。

glfw_vs2019_ss07.png


実行は、デバッグ → デバッグなしで開始。もしくは、Ctrl + F5 を叩いてもいいし、F5 だけを叩いてもいい。

glfw_vs2019_ss08.png


DOS窓が開いて、「Hello World!」が表示された。ビルドは成功しているらしい。

glfw_vs2019_ss09.png

出来上がった .exe は、(プロジェクト保存場所)\x64\Release\ の中に保存されている。

NuGetでGLFWをインストール :

NuGet とやらを使って、GLFW をインストールしてみる。

プロジェクト → NuGetパッケージの管理、を選択。ちなみに、何かしらのプロジェクトを開いている状態じゃないと、この項目は選択できないと思う。この NuGetパッケージとやらは、プロジェクトの保存場所にインストールされるので…。

glfw_vs2019_ss10.png


NuGetパッケージマネージャーの画面が開くので、「参照」をクリックしてから、「glfw」と打って検索する。glfw がリストアップされるのでクリックして選択。右側の「インストール」ボタンをクリック。

glfw_vs2019_ss11.png


「インストールしていいか?」的なダイアログが開くので、「OK」をクリック。

glfw_vs2019_ss12.png

これで、glfw関連ファイルが ―― 今回は glfw 3.3.9 が、プロジェクトフォルダ内にインストールされた。(プロジェクトフォルダ)\packages\glfw.3.3.9\ に入っている。

GLFWを使ったソースを書く :

GLFWを使ったソースを書く。今回は以下のページで紹介されてるソースをコピペさせてもらって動作確認してみた。

_GLFW メモ

ビルドする :

Ctrl + Shift + B を叩いてビルドしてみると、以下のようなエラー(リンクエラー)が出てしまった…。

glfw_vs2019_ss13.png


利用するライブラリファイルとして opengl32.lib を追加しないと、こういうエラーが出てしまうらしい。

ソリューションエクスプローラ上で、プロパティのボタンをクリックして、プロパティを表示する。

glfw_vs2019_ss14.png


構成プロパティ → リンカー → 入力、と辿って、追加の依存ファイル、を編集する。右側の小さい下向きのボタンをクリックすると「<編集...>」という項目があるので、ソレをクリック。

glfw_vs2019_ss15.png


「追加の依存ファイル」に、opengl32.lib を追加記入してやる。

glfw_vs2019_ss16.png


あるいは、ソースコードの最初のほうに、「#pragma comment(lib, "opengl32.lib")」と書いてしまってもいい。この記述をすることで、リンカに、「opengl32.lib というライブラリファイルも利用せよ」と指示を出せるらしい。

glfw_vs2019_ss17.png


この状態でビルド(Ctrl + Shift + B)したところ、ビルドが成功した。実行(Ctrl + F5)すると、三角形が描かれた。

glfw_vs2019_ss18.png

余談。glew_static について :

当初、リンカがエラーを出すあたりがよく分からなくて、アレコレ試していたのだけど。NuGet 経由で glfw と glew_static の2つをインストールしたら何故かビルドが通るようになったりしたので、一応そのこともメモしておく。

glfw_vs2019_ss19.png

おそらく、glew_static の中に、glfw をリンクするための関連ファイルも含まれているのかなと想像しているけれど…。

でもまあ、glfw を使うだけなら、前述のとおり、opengl32.lib を追加指定してやるだけで済むので…。

以上、1 日分です。

過去ログ表示

Prev - 2023/12 - Next
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

カテゴリで表示

検索機能は Namazu for hns で提供されています。(詳細指定/ヘルプ


注意: 現在使用の日記自動生成システムは Version 2.19.6 です。
公開されている日記自動生成システムは Version 2.19.5 です。

Powered by hns-2.19.6, HyperNikkiSystem Project