使用CLion IDE运行Opengl程序

时间:2018-04-16 14:42:55

标签: c++ cmake

我知道这个问题已经被提出,但提供的解决方案对我来说真的没有用。

我想通过CLion IDE运行我的OpenGL程序。我可以使用

通过Ubuntu中的终端运行相同的程序
$gcc progname.c -lglut -lGL -lGLU

但是我无法在CLION中运行相同的内容

这是我的CMakeLists.txt文件

enter image description here

PS:我在Ubuntu中使用CLion。此外,程序中也没有错误。

2 个答案:

答案 0 :(得分:2)

Clion使用CMake作为项目文件,CMake可以使用target_link_libraries轻松链接系统路径中的库,您可以在您的情况下使用它,如下所示,可以在之后 / em> add_executable行:

target_link_libraries(jarvis -lglut -lGL -lGLU)

target_link_libraries的文档在这里: https://cmake.org/cmake/help/v3.3/command/target_link_libraries.html

答案 1 :(得分:0)

在Google上进行了大量搜索之后,我已经使其可以在Windows 10和Linux(Ubuntu 16.04)中使用。显然,毕竟不是那么容易找到。所以,我现在就在这里结束这个问题。

在这里,我将向您展示如何配置CMakeLists.txt文件以编译OpenGL程序,这是这里的主要挑战。我假设您可以编写基本的OpenGL程序,并且已经编写了一个名为 'demoMain.cpp'。

对于Windows

我假设您可以在Windows上设置OpenGL。如果不能的话,youtube和StackOverflow上有很多教程。之后,继续。

cmake_minimum_required(VERSION 3.10)
project(Graphics_Offline_1) # Your Project Name

set(CMAKE_CXX_STANDARD 11)

include_directories(OpenGL)
include_directories(OpenGL/include) # OpenGL/include has to contain the required OpenGL's .h files
include_directories(OpenGL/lib) # OpenGL/lib has to contain the required OpenGL's .lib files


# glut32.dll must be present in "project-directory/OpenGL/dll/"


add_custom_target(glutdlllib
    COMMAND ${CMAKE_COMMAND} -E copy ${PROJECT_SOURCE_DIR}/OpenGL/dll/glut32.dll ${CMAKE_BINARY_DIR}
    )

# required .lib files to be copied into compiler's proper directory
set(OpenGlLibs glaux glu32 glui32 glut32 opengl32)


#These 3 lines are just linking and making executables

add_executable(demo demoMain.cpp)

target_link_libraries(demo ${OpenGlLibs})

add_dependencies(demo glutdlllib)

对于Linux(Ubuntu 16.04)

它也应该适用于其他Ubuntu版本。 Linux使使用OpenGL比Windows更容易。

cmake_minimum_required(VERSION 3.10) # common to every CLion project
project(OpenGLLinuxTest) # project name


set(OpenGlLinkers -lglut -lGLU -lGL) # setting all the Glut libraries as one variable.


################################################

add_executable(OpenGLLinuxTest1 main.cpp ) #common to all clion project
target_link_libraries(OpenGLLinuxTest1 ${OpenGlLinkers}) # linking opengl libraries to the project

#################################################

我假设您可以在Ubuntu上安装OpenGL。如果您对此有疑问,

  

关注此链接-   http://www.codebind.com/linux-tutorials/install-opengl-ubuntu-linux/。   如果这不起作用,请遵循此-   https://gist.github.com/shamiul94/a632f7ab94cf389e08efd7174335df1c