我无法正确链接到glew。
我做了:
#define GLEW_STATIC
#include "glew/glew.h"
#pragma comment(lib, "glew/glew32s.lib")
但是,我仍然收到错误:
LNK2019:函数initialize中引用的未解析的外部符号__glewGenBuffersARB
答案 0 :(得分:12)
为自己保存一个很多的麻烦,只需将glew.c
文件放入您的项目中即可。我从不打扰外部链接到glew库。一旦你在那里,GLEW_STATIC
宏将工作。它只是一个文件,并且(如果这对您很重要)它将跨平台很好地运行(而不是必须重建几个特定于操作系统的库)。
答案 1 :(得分:0)
我想通过为 cmake
项目提供更详细的答案来扩展出色的 @TheBuzzSaw 想法。
GLEW
源。src/glew.c
和 include/GL/glew.h
)复制到您的项目目录中。glew.c
使文件的开头看起来像这样:#ifndef GLEW_INCLUDE
#include "glew.h" /* Point to local glew.h file. */
#else
#include GLEW_INCLUDE
#endif
main.cpp
文件中使用以下内容以正确包含静态 GLEW:#define GLEW_STATIC
#include "glew.h"
CMakeLists.txt
文件:cmake_minimum_required(VERSION 3.17)
project(your-project-name)
add_library(STATIC_GLEW glew.c)
add_executable(your-project-name main.cpp)
target_link_libraries(your-project-name STATIC_GLEW)
现在,您应该能够在没有任何链接错误的情况下构建项目 ?