繁体   English   中英

Visual Studio 2013 C ++链接静态库glew,虚拟机上的glfw

[英]Visual Studio 2013 C++ link static library glew, glfw on virtual machine

我无法在visual studio 2013 c ++项目中链接静态库。

  1. 我下载了最新的glew-1.11.0-win32和glfw-3.1.1.bin.WIN32
  2. 设置包含目录的路径(项目属性> C / C ++“其他包含目录”)

     C:\\Users\\User\\Documents\\Visual Studio 2013\\Projects\\OpenGL\\OpenGL\\Common 
  3. 添加lib文件的路径(项目属性>链接器>常规“其他库目录”)

     C:\\Users\\User\\Documents\\Visual Studio 2013\\Projects\\OpenGL\\OpenGL\\Common\\Libs 
  4. 添加库名称(项目属性>链接器>输入“附加依赖项”)

     glew32.lib glfw3.lib 
  5. 定义预处理器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项目来说,这似乎都是不必要的粗糙。 相反,请执行以下操作:

  • 属性 - 公共属性 - C / C ++ - 预处理器 - 预处理器定义下添加GLEW_STATIC
  • 属性 - 公共属性 - 链接器 - 输入 - 附加库依赖 下添加glew32s.lib
  • 如果您没有将glew32s.lib复制到Visual Studio的默认库路径之一,请在“ 属性 - 公共属性 - 链接器 - 常规 - 其他库目录”下的路径下添加它

为我工作。

如果您不知道这一点,您可以在Property Manager中 添加新属性表 ,例如openglPropertySheet32Static查看菜单 - 其他Windows - 属性管理器 )。 添加您的openGL特定属性。 不要忘记明确保存工作表 - 我不确定它是否随项目自动保存。 然后,您需要为将来的openGL项目做的就是在Property Manager中添加现有属性表 openglPropertySheet32Static (您还记得保存它的位置,对吧?)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM