[英]Visual Studio 2013 C++ link static library glew, glfw on virtual machine
我无法在visual studio 2013 c ++项目中链接静态库。
设置包含目录的路径(项目属性> 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
定义预处理器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
当我想补充这个
#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;
}
虚拟机(VirtualBox)和Mirosoft Visual Studio 2013上的Windows 8.1
我做错了什么? 在此论坛的其他主题中,此解决方案正常运行。
当我从目录中删除这两个libs时我得到了同样的错误,所以Visual可能看不到这两个libs。 但路径设置正确。 包含路径有效,所有头文件都可以通过intelsense查看。
@bogdan是正确的:GLEW的静态库版本是glew32s.lib 。
BTW,sourceforge.net上的GLEW安装页面说,如果你想要静态链接,你必须“在你的项目中包含glew.h和glew.c”。 虽然这听起来很容易,但对于每个openGL项目来说,这似乎都是不必要的粗糙。 相反,请执行以下操作:
为我工作。
如果您不知道这一点,您可以在Property Manager中 添加新属性表 ,例如openglPropertySheet32Static ( 查看菜单 - 其他Windows - 属性管理器 )。 添加您的openGL特定属性。 不要忘记明确保存工作表 - 我不确定它是否随项目自动保存。 然后,您需要为将来的openGL项目做的就是在Property Manager中添加现有属性表 openglPropertySheet32Static (您还记得保存它的位置,对吧?)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.