将 GLEW 添加到项目 (CMake)
Adding GLEW to project (CMake)
我想将glfw和glew链接到我的图形编程项目。
添加glfw非常简单,我按照他们网站上的说明进行操作。使用 glfw 创建窗口非常有效。
但是,我看不出我的 CMakeList 有什么问题.txt用于添加 GLEW。程序给出错误:"GL/glew.h:没有这样的文件或目录"。
我的CMakeLists.txt:
cmake_minimum_required( VERSION 3.5 )
project(Starting)
find_package( OpenGL REQUIRED )
set( GLFW_BUILD_DOCS OFF CACHE BOOL "" FORCE )
set( GLFW_BUILD_TESTS OFF CACHE BOOL "" FORCE )
set( GLFW_BUILD_EXAMPLES OFF CACHE BOOL "" FORCE )
add_subdirectory( ${PROJECT_SOURCE_DIR}/GLEW/build/cmake )
add_subdirectory( ${PROJECT_SOURCE_DIR}/GLFW )
add_executable( Starting ${PROJECT_SOURCE_DIR}/src/main.cxx )
target_link_libraries( Starting glew32s glfw )
我试着给它起名字 GLEW、glew、glew32 代替,但没有任何变化。该库可从此处下载:https://github.com/Perlmint/glew-cmake
如果它有任何重要性,这是我运行 CMakeList 的批处理文件.txt(位于项目源目录内的构建文件夹中(:
@echo off
cmake -G"Unix Makefiles" -DCMAKE_BUILD_TYPE=Debug ..
make all
在github上查看OpenGL项目并没有帮助,因为几乎所有项目都在使用Visual Studio。如果有人能告诉我我做错了什么,那就太好了。
虽然 Julia 的建议可能会奏效,但 CMake for GLEW 包含一个查找脚本,假设您使用的是足够新的版本,因此您应该使用它而不是手动包含路径。只需添加以下内容:
find_package(GLEW 2.0 REQUIRED)
target_link_libraries(Starting GLEW::GLEW)
这将在您的系统上找到 GLEW,然后与必要的库链接并添加必要的包含目录。
您的问题是您忘记将 GLEW 包含目录添加到您的项目中。您可以使用target_include_directories
或include_directories
,唯一的区别是您将它放在CMakeLists.txt
和语法中的位置。
我更喜欢target_include_directories
所以你的CMakeList.txt添加后它看起来像这样:
cmake_minimum_required( VERSION 3.5 )
project(Starting)
find_package( OpenGL REQUIRED )
set( GLFW_BUILD_DOCS OFF CACHE BOOL "" FORCE )
set( GLFW_BUILD_TESTS OFF CACHE BOOL "" FORCE )
set( GLFW_BUILD_EXAMPLES OFF CACHE BOOL "" FORCE )
add_subdirectory( ${PROJECT_SOURCE_DIR}/GLEW/build/cmake )
add_subdirectory( ${PROJECT_SOURCE_DIR}/GLFW )
add_executable( Starting ${PROJECT_SOURCE_DIR}/src/main.cxx )
target_include_directories(Starting PRIVATE
${PROJECT_SOURCE_DIR}/GLEW/include
)
target_link_libraries( Starting glew32s glfw )
相关文章:
- CMake项目Boost库错误:Boost/config/compiler/gcc.hpp:165:10:致命错误:cs
- Visual Studio 中的 CMake 项目:如何添加其他包含和库目录?
- 尝试将 boost::stacktrace 添加到 CMake 项目时出现构建错误
- 如何将我的 CMake 项目配置为运行所有单元测试?
- 智能感知不适用于Visual Studio 2017中的cmake项目
- 如何在同一个 CMAKE 项目中强制链接到共享库?
- 如何将外部依赖引入跨平台CMake项目?
- 如何将 OpenMP 和 MPI 导入到大型 CLion CMake 项目中?
- 将目录添加到没有 CMakeLists.txt 的 CMake 项目
- 在现代 CMake 项目中存档静态依赖项
- 将 curlpp 添加到 cmake 项目
- 如何使我的 cmake 项目所需的某些 c++ 功能
- 如何将C++17 stdc++fs库链接到混合语言(C++和Fortran)CMake项目
- 简单的cmake项目,在Windows上使用nmake构建没有调试符号
- 如何将opencv_contrib添加到 CMake 项目?
- CMake 项目链接静态库
- 如何将图像文件夹添加到CMake项目以便在c ++可执行文件中使用这些图像?
- Catch2 单元测试未与 CMake 项目一起运行
- 如何将任何DLL链接到Cmake项目
- CLion 导入具有依赖项的现有 cmake 项目