将glbinding与cmake相关联

时间:2014-12-16 23:53:17

标签: c++ opengl linker cmake

我试图在我自己的项目中使用glbinding。我用cmake来构建一切。问题是链接器找不到这个库。可能我没有建立图书馆因此无法联系,但我不知道如何实现这一目标。 我已根据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);
}

我目前的项目结构:

project structure

1 个答案:

答案 0 :(得分:1)

您是否尝试从glbinding删除target_link_libraries${GLBINDING_LIBRARIES}应该足够了;它将<your_specific_file_path_to_glbinding_library>传递给链接器。使用-lglbinding链接器在某些默认目录中搜索库,不包括glbinding或build目录,从而抛出library not found。要验证${GLBINDING_LIBRARIES}的内容,您可以将其打印到cmake输出,例如通过message(STATUS ${GLBINDING_LIBRARIES})。但是,我还建议将glbinding集成为@janisz建议的外部项目。

编辑:抱歉,没有看到@ jet47的有效但折叠的答案