无法将Glew与Cmake链接

问题描述 投票:1回答:1

我正在OS X上使用VScode进入C ++的OpenGL。我已经安装了glfw并与brew一起使用。我已经成功地使用cmake构建了glfw库,并且可以打开一个窗口,但是当我尝试构建glew时,总是会出现错误。

这是我的CMakeLists.txt

cmake_minimum_required (VERSION 3.5)
project (test)

set(CMAKE_CXX_STANDARD 11)

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_executable(test
src/main.cpp
)

add_subdirectory(glfw)

find_package(GLEW REQUIRED)
find_package(OpenGL REQUIRED)

if (GLEW_FOUND)
    include_directories(glew/include)
endif()

if (APPLE)
    target_link_libraries(test ${GLEW_LIBRARY})
    target_link_libraries(test "-framework GLUT")
    target_link_libraries(test "-framework OpenGL")
endif()

target_link_libraries(test glfw ${GLEW_LIBRARIES})

[当我尝试'制造'它时,给我这个错误:

undefined symbols for architecture x86_64:"_glewInit", referenced from: _main in main.cpp.o. 
c++ opengl build cmake glew
1个回答
0
投票

我能够在其中加入GLEW

[brew install glew(此步骤将构建glew并将其安装在您的系统上,所以您是说这是失败的吗?否则,就不再需要构建glew了。)]

然后在我的顶级CMakeLists.txt中

find_package(GLEW 2.0 REQUIRED)

并且在CMakeLists.txt中为我的main.cpp设置了目标,并需要#include "GL/glew.h",我添加了这一行:

target_link_libraries(${MAIN} GLEW::GLEW)

$ {MAIN}是我为主要目标名称设置的变量。]​​>

© www.soinside.com 2019 - 2024. All rights reserved.