Jul*_*kar 4 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
Run Code Online (Sandbox Code Playgroud)
我已经在 Visual Studio 中处理过这些文件,但我是 CLion 的新手,这就是为什么不知道链接目录如何通过 CMake 工作。如何使用 CLion 中的库?
在 Google 上进行了大量搜索后,我使它在 Windows 10 和 Linux (Ubuntu 16.04) 中都能正常工作。显然它毕竟不是那么容易找到。所以,我现在和这里要结束这个问题。
在这里,我将向您展示如何配置 CMakeLists.txt 文件来编译 OpenGL 程序,这是这里的主要挑战。我假设您可以编写基本的 OpenGL 程序,并且您已经编写了一个名为“demoMain.cpp”的文件。
我假设您可以在 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)
Run Code Online (Sandbox Code Playgroud)
它也适用于其他 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
#################################################
Run Code Online (Sandbox Code Playgroud)
我假设您可以在 Ubuntu 上安装 OpenGL。如果你正面临这样的问题,
按照此链接 - http://www.codebind.com/linux-tutorials/install-opengl-ubuntu-linux/。如果这不起作用,请按照此操作 - https://gist.github.com/shamiul94/a632f7ab94cf389e08efd7174335df1c
我通过在 CMake 文件中添加以下行解决了我的问题
include_directories(GL)
target_link_libraries(OpenGL GL/Glaux.lib GL/GLU32.LIB GL/glui32.lib GL/glut32.lib GL/OPENGL32.LIB)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9977 次 |
| 最近记录: |