Skip to content

Instantly share code, notes, and snippets.

@ishidur
Last active October 16, 2024 07:53
Show Gist options
  • Save ishidur/0594159d27884a909bd74ae52cbaec7c to your computer and use it in GitHub Desktop.
Save ishidur/0594159d27884a909bd74ae52cbaec7c to your computer and use it in GitHub Desktop.
CmakeでOpenGLを使えるようにする #windows

CmakeでOpenGLを使えるようにする(Windows 10)

CLionでOpenGLを使ったプログラムを作成したい.でもfind_packageしても見つからない...
調べたらやり方について説明してあるyoutubeの解説動画があったので手順をメモ. 参考:https://youtu.be/AUFZnA3lW_Q

前提

MinGWをインストール済みであること.

手順

  1. Martin Payne's Windows binaries (MSVC and MinGW) からfreeglut <version> MinGW Package(私の場合は3.0.0)をダウンロードそして展開.
  2. ファイル内のbin, inslude, libMinGW内のbin, inslude, libに移動する.
  3. 設定完了!!

Test

  1. CLionのSettingsでBuild>Toolchainsの設定がMinGWとなっていることを確認する(すべてに緑のチェックが表示されているかも確認).
  2. Clionでテストプロジェクトを作成する(C++ Executableで).
  3. CMakeLists.txtにtarget_link_librariesを追加する.
    target_link_libraries(<project-name> -lOpenGL32 -lfreeGLUT)
    
  4. main.cppを添付ファイルのように書き換える.
  5. 実行してWindowが表示されればOK
cmake_minimum_required(VERSION 3.14)
project(opengltest)
set(CMAKE_CXX_STANDARD 14)
add_executable(opengltest main.cpp)
target_link_libraries(opengltest -lOpenGL32 -lfreeGLUT)
#include <iostream>
#include <GL/glut.h>
void display()
{
glClear(GL_COLOR_BUFFER_BIT);
glBegin(GL_POLYGON);
glColor3d(1.0, 0.0, 0.0);
glVertex2d(-0.9, -0.9);
glColor3d(0.0, 1.0, 0.0);
glVertex2d(0.9, -0.9);
glColor3d(0.0, 0.0, 1.0);
glVertex2d(0.9, 0.9);
glColor3d(1.0, 1.0, 0.0);
glVertex2d(-0.9, 0.9);
glEnd();
glFlush();
}
void init()
{
glClearColor(0.0, 0.0, 0.0, 1.0);
}
int main(int argc, char *argv[])
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_RGBA);
glutCreateWindow(argv[0]);
glutDisplayFunc(display);
init();
glutMainLoop();
return 0;
}
@nyanchu-okabe
Copy link

クロスプラットフォームバージョンも作成していただけないでしょうか?
お願いします、ゲームを開発しようとチームでやっているんですがチームのOSが分かれてしましまって
お願いします...

@nyanchu-okabe
Copy link

お願いします 手伝うから

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment