如何在CLion中添加OpenGL库?

时间:2017-04-04 07:31:35

标签: opengl cmake clion

我有一个名为GL的文件夹,其中包含以下文件:

---glu32.dll
---GLAux.h
---OPENGL32.LIB
---glut32.lib
---glut.h
---GL.H
---glui.h
---glui32.lib
---glut32.dll
---GLU32.LIB
---Glaux.lib
---GLU.H
---opengl32.dll

我在Visual Studio中使用过这些文件,但我是CLion的新手,这就是为什么不知道链接目录如何通过CMake工作的原因。我如何在CLion中使用这些库?

2 个答案:

答案 0 :(得分:1)

我通过在CMake文件中添加以下行来修复我的问题

include_directories(GL)

target_link_libraries(OpenGL GL/Glaux.lib GL/GLU32.LIB GL/glui32.lib GL/glut32.lib GL/OPENGL32.LIB)

答案 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