I can't link properly to glew.
I have done:
#define GLEW_STATIC
#include "glew/glew.h"
#pragma comment(lib, "glew/glew32s.lib")
However, I still get the error:
LNK2019: unresolved external symbol __glewGenBuffersARB referenced in function initialize
Save yourself a lot of trouble and just put the glew.c
file into your project. I never bother with linking to a glew library externally. Once you have that in there, the GLEW_STATIC
macro will work. It's only one file, and (if this matters to you) it will carry nicely across platforms (rather than having to rebuild several OS-specific libs).
I want to extend the excellent @TheBuzzSaw's idea by providing a more detailed answer for a cmake
project.
GLEW
sources from here.src/glew.c
and include/GL/glew.h
) into your project's directory.glew.c
so that the beginning of the file looks like this:#ifndef GLEW_INCLUDE
#include "glew.h" /* Point to local glew.h file. */
#else
#include GLEW_INCLUDE
#endif
main.cpp
file to include static GLEW correctly:#define GLEW_STATIC
#include "glew.h"
CMakeLists.txt
file with the use of copied files: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)
Now, you should be able to build your project without any linking errors ๐
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With