独創アプリ開発日記 252日目 C++によるマルチプラットフォーム対応のOpenGLコード第一歩 Windows編

先日作成したマルチプラットフォーム対応のOpenGLコードを、macLinux(Ubuntu 18.04 LTS)に続いて、Windowsで動作させます。

Windows7で試しました。

さすが、過去にLinuxを癌だと言っていた会社です。邪悪な独自仕様を進化させたそのOSは、マルチプラットフォーム対応コードの動作を阻む高い壁の名残があるようです。動作させるために面倒な準備が必要になりました。

まずMinGWCMakeMakeをインストールします。インストール後、PATHを適切に設定してください。

次に、glfwのソースを持ってきてビルドします。(バイナリ持ってきても動きませんでした)

CMakeでMinGW用のビルドファイルを生成し、makeコマンドを実行して、最終的に生成されるlibglfw3.aをMinGW\libフォルダの中にコピーします。また、ヘッダーファイルをMinGW\include\GLFWの中にコピーします。

さらに、glewのソースを持ってきてビルドします。(こちらもバイナリを持ってきても動きませんでした)

glfwと同様に、CMakeでMinGW用のビルドファイルを生成後、makeコマンドを実行して、最終的に生成されるlibglew32.aとlibglew32.dll.aをMinGW\libフォルダの中にコピーします。また、ヘッダーファイルをMinGW\include\GLの中にコピーします。更に、glew32.dllをパスの通っている場所にコピーしておきます。

尚、CMakeやMakeコマンドの実行時は、セキュリティソフトのリアルタイム保護を無効にしてください。

何故かウィルスと判断されて作業が失敗してしまいます。

うーん・・・

以上で準備完了です。目的のコードをコンパイルして実行しましょう。

g++ Program.cpp -lglfw3 -lglew32 -lgdi32 -lopengl32

やっと動きました。

え?Visual Studio?何それ?

コメントを残す

メールアドレスが公開されることはありません。