我无法在Visual Studio 2013 C++项目中链接静态库。Visual Studio 2013 C++链接静态库glew,虚拟机上的glfw
- 我下载了最新的GLEW-1.11.0-win32和GLFW-3.1.1.bin.WIN32
设定的路径,包括目录 (项目属性> C/C++ “附加包含目录”)
C:\Users\User\Documents\Visual Studio 2013\Projects\OpenGL\OpenGL\Common
添加路径LIB文件 (项目属性>链接>常规 “附加库目录”)
C:\Users\User\Documents\Visual Studio 2013\Projects\OpenGL\OpenGL\Common\Libs
添加库名 (项目属性>链接>输入 “附加依赖”)
glew32.lib glfw3.lib
定义preprocesor GLEW_STATIC(当我删除此才看得到)
(project Properties > C/C++ > Preprocessor "Preprocessor Definitions")
当我建立我的项目以下错误发生:
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
当我想这COMPLE
#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当前虚拟机(VirtualBox的)和Mirosoft的Visual Studio 2013
我做错了吗?在此论坛的其他主题中,此解决方案可正常工作。
当我从目录中删除这两个库时,我得到了同样的错误,所以可能Visual没有看到这两个库。但路径设置正确。包含路径作品,所有头文件都可以通过intelsense查看。
看着[文档在这里](http://glew.sourceforge.net/install.html),在我看来,'glew32.lib'不是实际的静态库,而只是一个导入库'glew32.dll'。该文件似乎意味着您需要实际构建源代码以便静态链接到它。 – bogdan
你知道该怎么做吗?每个教程都是关于链接自己的dll库。我发现了这个[link](http://blog.nuclex-games.com/2012/03/how-to-consume-dlls-in-visual-cxx/comment-page-1/),但它没有起作用。任何想法? – Szczepan
我从GLEW网站下载了二进制包,发现在'lib \ Release \ Win32'目录下,'glew32.lib'旁边还有'glew32s.lib'。我有一个偷偷的怀疑,那个's'是你正在寻找的实际的静态库。因此,在“附加依赖关系”中只进行这种更改并再次尝试(在您的设置中,其他一切似乎都很好,而且我在前面的评论中引用的文档似乎已过时 - [此其他页面](http:// glew .sourceforge.net/build.html)表示,预编译的静态库应该包含在二进制Windows包中)。 – bogdan