Win下CLion+MinGW环境配置

JetBrains的C/C++ IDE:CLion已经出了1.2的版本了,随决定玩下看看。由于常在win下进行开发,故而决定配置一下win下的CLion,并使用OpenGL写一个例子程序进行测试。

一、安装1、MinGW

下载MinGW,官网地址http://www.mingw.org/。MinGW安装步骤不再赘述,只是要注意安装路径不要使用中文和空格即可。安装完成后,需要下载开发包和gcc,选择最小安装即可:Win下CLion+MinGW环境配置_第1张图片

二、安装CLion

下载CLion,官网地址http://www.jetbrains.com/clion/
安装步骤不在赘述,直接一路next即可。
安装完成,设置开发环境:
选择新建设置,不导入,当然如果你有以前的配置可以导入。Win下CLion+MinGW环境配置_第2张图片
选择主题,这里使用默认的Win下CLion+MinGW环境配置_第3张图片
选择环境,这里选刚刚下载的MinGW,如果下载完成的话,其他几项配置会自动检测完成Win下CLion+MinGW环境配置_第4张图片
其余选项默认设置即可,点击完成设置,结束设置。

三、安装测试OpenGL例子需要的freeglut

下载freeglut,一定下载MinGW版本的,地址http://www.transmissionzero.co.uk/software/freeglut-devel/
下载完成后,随便解压一个位置即可。

四、测试例子程序

打开CLion,新建project,这里我们工程名称OpenGLs。Win下CLion+MinGW环境配置_第5张图片
点击ok,完成工程创建。
新建的工程中默认包含两个文件:main.cpp和CMakeList.txtWin下CLion+MinGW环境配置_第6张图片
由于是一个OpenGL的例子程序,故而我们需要使用freeglut库,修改CMakeList.txt文件如下:

cmake_minimum_required(VERSION 3.3)
project(ClionTest)

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")

set(OPENGL_FILE E:/project/3rdparty/freeglut)
INCLUDE_DIRECTORIES(${OPENGL_FILE}/Include)
link_directories(${OPENGL_FILE}/lib D:/Program/MinGW/lib)

set(SOURCE_FILES main.cpp)
add_executable(ClionTest ${SOURCE_FILES})

set(PROJECT_BINARY_DIR E:/project/ClionTest)
SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}/bin)
SET(LIBRARY_OUTPUT_PATH ${PROJECT_BINARY_DIR}/lib)

target_link_libraries(ClionTest freeglut glu32 opengl32)

在写cmake的过程中,竟然也有补全功能,真是惊喜啊!
测试代码:

#include 
#include 
#include "./GL/glut.h"

void render()
{
    glClear(GL_COLOR_BUFFER_BIT);
    glBegin(GL_TRIANGLES);
    glVertex3f(-0.5f, -0.5f, 0.0f);
    glVertex3f(0.5f, 0.0f, 0.0f);
    glVertex3f(0.0f, 0.5f, 0.0f);
    glEnd();
    glFlush();
}

int main(int argc, char* argv[]) {
    glutInit(&argc, argv);
    glutInitWindowSize(480, 320);
    glutInitWindowPosition(200, 100);
    glutCreateWindow("OpenGL Window Test");

    glutDisplayFunc(render);

    glutMainLoop();
    return 0;
}

代码完成,Ctrl+F9,进行编译,OK,无错误,编译完成。
shift+F10运行,运行结果Win下CLion+MinGW环境配置_第7张图片

你可能感兴趣的:(ide,mingw,opengl,gcc,CLion,C++/Qt)