opengl 将glbinding与cmake连接

jaql4c8m  于 2023-10-18  发布在  其他
关注(0)|答案(1)|浏览(121)

我正在尝试在我自己的项目中使用glbinding。我使用cmake来构建一切。问题是链接器找不到这个库。可能我没有建立图书馆,因此它不能被链接,但我不知道如何实现这一点。我根据www.example.com编写了链接代码https://github.com/hpicgs/glbinding#linking-binaries。
Cmake:

set(SOURCE_FILES main.cpp)

add_executable(AKOpenGLEngine ${SOURCE_FILES})

set(CMAKE_PREFIX_PATH ${CMAKE_MODULE_PATH} glbinding )
find_package(glbinding REQUIRED)
include_directories(${GLBINDING_INCLUDES})
target_link_libraries(AKOpenGLEngine glbinding ${GLBINDING_LIBRARIES})

错误代码:

Linking CXX executable AKOpenGLEngine
ld: library not found for -lglbinding

main.cpp:

#include <glbinding/gl/gl.h>

int main(void) {
    glbinding::Binding::initialize();
    exit(EXIT_SUCCESS);
}

我目前的项目结构:

suzh9iv8

suzh9iv81#

您是否尝试从target_link_libraries中删除glbinding${GLBINDING_LIBRARIES}就足够了;它将<your_specific_file_path_to_glbinding_library>传递给链接器。使用-lglbinding,链接器在一些默认目录中搜索库,不包括glbinding或build目录,因此抛出library not found。要验证${GLBINDING_LIBRARIES}的内容,您可以将其打印到cmake输出,例如通过message(STATUS ${GLBINDING_LIBRARIES})。然而,我也建议像@janisz建议的那样将glbinding作为外部项目集成。
编辑:对不起,没有看到有效的,但崩溃的答案@jet47

相关问题