I can't link static libraries in my visual studio 2013 c++ project.
- I downloaded latest glew-1.11.0-win32 and glfw-3.1.1.bin.WIN32
Set path to include directory (project Properties > C/C++ "Additional Include Directories")
C:\Users\User\Documents\Visual Studio 2013\Projects\OpenGL\OpenGL\Common
Add path to lib files (project Properties > Linker > General "Additional Library Directories")
C:\Users\User\Documents\Visual Studio 2013\Projects\OpenGL\OpenGL\Common\Libs
Add library names (project Properties > Linker > Input "Additional Dependencies")
glew32.lib glfw3.lib
Define preprocesor GLEW_STATIC (it's visible when I remove this)
(project Properties > C/C++ > Preprocessor "Preprocessor Definitions")
When I build my project following error occur:
Error 1 error LNK2001: unresolved external symbol _glewExperimental C:\Users\User\documents\visual studio 2013\Projects\OpenGL\OpenGL\Source.obj OpenGL
Error 2 error LNK1120: 1 unresolved externals C:\Users\User\documents\visual studio 2013\Projects\OpenGL\Debug\OpenGL.exe OpenGL
When I want to comple this
#include<Windows.h>
#include<GL\glew.h>
#include<GLFW\glfw3.h>
#include<iostream>
GLFWwindow * window;
using namespace std;
int main()
{
glewExperimental = TRUE;
GLenum error = glewInit();
if (error != GLEW_OK)
{
cout << "Error!" << endl;
}
system("pause");
return 0;
}
Windows 8.1 on virutal machine(VirtualBox) and Mirosoft Visual Studio 2013
What I am doing wrong? In other topics on this forum this solution works properly.
When I remove this two libs from directories I got same error, so probably Visual don't see these two libs. But path is set properly. Include path works, all header files are visible by intelsense.
glew32.lib
is not the actual static lib, but rather just an import lib forglew32.dll
. The document seems to imply that you need to actually build the lib alongside your sources in order to link statically to it. – bogdanlib\Release\Win32
directory, alongsideglew32.lib
, there's alsoglew32s.lib
. I have a sneaking suspicion that the one with thes
is the actual static lib you're looking for. So, make only this change inAdditional Dependencies
and try again (everything else seems fine in your setup, and the document I referenced in the previous comment seems to be out of date - this other page says that a pre-built static lib should be included in the binary Windows package). – bogdan