gpt4 book ai didi

macos - 体系结构 x86_64 : "_glBegin" 的 undefined symbol

转载 作者:行者123 更新时间:2023-12-05 03:13:00 24 4
gpt4 key购买 nike

我正在尝试构建源代码,在通过/修复大量错误后,我陷入了不知如何修复的地步。我是构建源代码的新手,但我尝试搜索此错误,但没有一个对我有用,尽管我不确定我是否正确实现了它们。我在 OSX 10.8.5 上使用 XCode 5.1.1

我正在努力制作一个 cmake 文件,但在 75% 时我收到了这个错误(简要形式):

Undefined symbols for architecture x86_64: "_glBegin", referenced from: AlembicHolderOverride::draw(MHWRender::MDrawContext const&, MUserData const*) in alembicHolderOverride.cpp.o

这是我拥有的 cmakelist 的一部分:

# Fix to stop crash on OSX < 10.9
set(CMAKE_OSX_DEPLOYMENT_TARGET 10.8)

# Compiler flags
if (${CMAKE_SYSTEM_NAME} MATCHES "Windows")
# Disable some of the bullshit warnings MSVC wants to barf
add_definitions( "-W3 -MP -D_CRT_SECURE_NO_WARNINGS -wd4005 -wd4996 -wd4305 -wd4244 -nologo" )
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /MP")
endif()

IF( "${CMAKE_SYSTEM_NAME}" MATCHES "Darwin" )
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++03 -stdlib=libstdc++ -framework OpenGL")

endif()

IF( "${CMAKE_SYSTEM_NAME}" MATCHES "Linux" )
add_definitions(-D_LINUX)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O3 -fvisibility=hidden -fPIC")
endif()

我非常感谢提前对此提供的任何帮助,如果 Cmakelist 构建标志的任何部分有误,请不要犹豫,让我知道,因为我在这方面并没有真正的经验。

最佳答案

您需要链接到 OpenGL:

find_package(OpenGL REQUIRED)
...
add_(library|executable)(<your-target> ...)
...
target_include_directories(<your-target> PRIVATE ${OPENGL_INCLUDE_DIR})
target_link_libraries(<your-target> PRIVATE ${OPENGL_LIBRARIES})

(如果它是一个使用 OpenGL 的带有公共(public) header 的库,您可能需要 PUBLIC 链接)

或者传统方式:

find_package(OpenGL REQUIRED)
include_directories(${OPENGL_INCLUDE_DIR})
link_libraries(${OPENGL_LIBRARIES})
...
add_(library|executable)(<your-target> ...)

关于macos - 体系结构 x86_64 : "_glBegin" 的 undefined symbol ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31463895/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com