C++ 当您需要包含OpenGL库时,如何在Clion中运行程序
C++ How to run programs in Clion when you need to include OpenGL libraries?
您好,我需要使用 OpenGL,并希望在 Clion 中创建我的项目。但是 Clion 无法编译和运行我的项目,因为我需要包含库。我可以创建自己的生成文件并在终端中运行该程序,但我想在 IDE 中执行此操作。我怎样才能做到这一点?
首先,确保使用在 clion/cmake 中配置的编译器正确安装了所有库。假设你有一个新的CMakeList.txt比如
cmake_minimum_required(VERSION 3.3.2)
project(MyGL CPP)
add_executable(demo-run main.cpp)
要链接您的库,您需要两件事。首先告诉编译器在哪里可以找到包含文件,然后告诉要链接哪些库。您可以像本地安装一样对本地安装进行硬编码
target_link_libraries(demo-run path/to/glfw.lib path/to/opengl.lib path/to/jpeg.lib ...)
target_include_directories(demo-run PRIVATE path/to/glfw/include path/to/opengl/include path/to/jpeg/include ...)
但是,这不是非常可移植,如果您想使用其他编译器或另一台机器,您的项目文件将失败。相反,您可以使用cmake的软件包系统
find_package(PkgConfig REQUIRED)
pkg_search_module(GLFW REQUIRED glfw3)
find_package(JPEG REQUIRED)
find_package(GLEW REQUIRED)
find_package (OpenGL REQUIRED)
find_package (GLM REQUIRED)
target_link_libraries(demo-run ${GLFW_LIBRARIES} ${GLEW_LIBRARIES} ${JPEG_LIBRARIES} ${OPENGL_LIBRARIES})
target_include_directories(demo-run PRIVATE ${GLFW_INCLUDE_DIRS} ${GLEW_INCLUDE_DIR} ${JPEG_INCLUDE_DIR} ${OPENGL_INCLUDE_DIR} ${GLM_INCLUDE_DIR})
glfw 部分有点棘手,只适用于 linux,我想见 http://www.glfw.org/docs/3.0/build.html。
此代码根本没有经过测试,您可能需要指定一些环境变量,以便 cmake 可以找到包或提供其他查找脚本,如 https://github.com/lighttransport/nanogi/blob/master/cmake/FindGLM.cmake。
我建议使用CMake构建工具,该工具可以为您生成Makefile,并且也直接由clion支持。当你打开包含 CMakeLists.txt (CMake 项目文件( 的目录时,它应该被自动加载和编译(如果不只是点击构建(
一个非常简单的示例 CMake 项目如下所示
cmake_minimum_required (VERSION 2.8.9)
project (OpenGl-Stuff)
include_directories(src)
add_executable(your-binary src/your-code.c src/your-code.h)
target_link_libraries(your-binary opengl)
# target_link_libraries will search for libopengl on standard system paths,
# maybe the library is not called libopengl, then you have to adjust the name above
此 cmake 项目将为您生成二进制文件并将其链接到 OpenGL
相关文章:
- Mongodb c++驱动程序:如何查询元素的数组
- 无法在 CLion 中构建 C++ 项目
- C++,系统无法执行指定的程序
- 在C++程序中输入的文本文件将不起作用,除非文本被复制和粘贴
- 如何使用CLion和MSVC编译器工具链编译wxWidgets Hello World应用程序而没有错误?
- 程序在CLion IDE中工作,但exe不起作用
- 如何从 CLion 的运行窗口中删除程序项目路径
- 程序在 CLion 中调试时收到分段错误
- 我想在终端窗口中运行我的 CLion 程序
- 链接错误时,使用CLION/CMAKE/MSVC 2015编译WIN32应用程序
- C++ 当您需要包含OpenGL库时,如何在Clion中运行程序
- 无法在 clion 中运行任何程序
- 在CLion(windows)上构建wxWidgets 3.0.3程序
- 有什么方法可以修复 CLion 中使用 SFML 的程序"command timed out" GDB 错误?
- 如何使用 Clion将断点放入链接到静态库的应用程序中
- 如何在gnome终端中执行CLion程序
- CLion在单独的系统终端中运行程序
- 无法将openssl库链接到CLion C++程序
- 无法在 CLion 中运行简单的程序
- 运行CLion C++示例程序时出错