我正在尝试在我自己的项目中使用 glbinding。我正在使用 cmake 构建所有内容。问题是链接器找不到这个库。可能我不构建库因此无法链接,但我不知道如何实现它。 我已经根据 https://github.com/hpicgs/glbinding#linking-binaries 编写了链接代码.
制作:
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
主要.cpp:
#include <glbinding/gl/gl.h>
int main(void) {
glbinding::Binding::initialize();
exit(EXIT_SUCCESS);
}
我目前的项目结构:
最佳答案
您是否尝试删除 glbinding
来自 target_link_libraries
? ${GLBINDING_LIBRARIES}
应该足够了;它通过 <your_specific_file_path_to_glbinding_library>
到链接器。与 -lglbinding
链接器在某些默认目录中搜索库,不包括您的 glbinding 或构建目录,因此抛出 library not found
.验证${GLBINDING_LIBRARIES}
的内容您可以将其打印到 cmake 输出,例如,通过 message(STATUS ${GLBINDING_LIBRARIES})
.但是,我还建议按照@janisz 的建议将 glbinding 集成为外部项目。
编辑:抱歉,没有看到@jet47 的有效但折叠的答案
关于c++ - 将 glbinding 与 cmake 链接起来,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27516118/