无法让 cmake 链接到 GLFW 库
Cannot get cmake to link to GLFW library
我正在尝试用GLFW编写一个OpenGL应用程序。文件结构如下
-USG
-build
-include
-glfw-3.3
-src
-CMakeLists.txt
-main.cpp
-CMakeLists.txt
USG
文件中的 CMake 如下所示。
cmake_minimum_required(VERSION 3.0)
project(USG)
#--------------------------------------------------------------------
# Set GLFW variables
#--------------------------------------------------------------------
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 subdirectories
#--------------------------------------------------------------------
add_subdirectory(include/glfw-3.3)
add_subdirectory(src)
src
文件中的CMakeList如下
add_executable(usg main.cpp)
set(OpenGL_GL_PREFERENCE GLVND)
find_package(OpenGL REQUIRED)
if (OPENGL_FOUND)
target_include_directories(usg PUBLIC ${OPENGL_INCLUDE_DIR})
target_link_libraries(usg ${OPENGL_gl_LIBRARY})
endif()
target_link_libraries(usg glfw)
我在构建文件夹中运行cmake ../
然后运行make
。运行 cmake 按预期运行。运行使构建 glfw 很好,但是当它到达主.cpp它失败#include <GLFWglfw3.h>
告诉我GLFWglfw3.h: No such file or directory
。在我看来,cmake 没有将头文件正确链接到主文件.cpp但我对 cmake 的了解不足以让它工作。我尝试查看 glfw-3.3 示例文件夹中提供的示例,但我无法充分理解它来解决我的问题。我尝试从堆栈溢出的许多类似问题中汲取知识,但没有一个能提供帮助。
我在这里遵循本教程。我希望 OpenGL 应用程序相对可移植,这就是为什么我从源代码编译 glfw 而不是使用二进制文件。我正在Linux上构建,如果这很重要的话。
尝试#include <GLFW/glfw3.h>
而不是#include <GLFWglfw3.h>
包含路径中的反斜杠是一种不好的 (Windows( 做法,不适用于 GCC。
https://gcc.gnu.org/onlinedocs/cpp/Include-Syntax.html
相关文章:
- 无法将 GLFW 库与 Ubuntu 18.04 上的头文件链接
- GLFW需要链接什么?
- 对GLFW / Vulkan的未定义引用,尽管库似乎是链接的
- 编译器无法链接/查找 GLFW
- 链接Visual Studio代码中的GLFW
- 使用 CMake 在 Mac 上链接静态 GLFW 和 OpenGL
- 如何在Linux中使用GLFW函数正确链接C++对象?
- 为什么我需要FreeGLUT来编译和链接GLFW程序
- Vulkan + GLFW + Cmake在Linux环境下的链接问题
- Linux(X11)上GLFW上的链接器错误
- Glew - 与 GLFW 配对时 gl- 函数符号上出现链接错误
- libigl,GLEW,GLFW和Eigen在CLion,Windows 10上.链接器错误
- 在 Fedora 27 中构建 GLFW 时链接期间出错
- 如何将正确的库与 GLFW 链接为 cmake 中的外部项目
- GLFW 链接问题 Visual Studio 2012.
- GLFW MinGW 链接错误
- 尝试在Mac上编译GLFW时GLFW上的链接器错误
- 无法获取 GLFW 链接
- 在 Windows 10 上的 VS 2015 中与 nupengl GLFW 链接错误
- GLFW链接不能正常工作与mingw32在c++ (?)