gpt4 book ai didi

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

转载 作者:太空狗 更新时间:2023-10-29 21:40:09 25 4
gpt4 key购买 nike

我无法在我的 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

我做错了什么?在本论坛的其他主题中,此解决方案工作正常。

当我从目录中删除这两个库时,我遇到了同样的错误,所以 Visual 可能看不到这两个库。但是路径设置正确。 include 路径有效,所有头文件都可以被 intelsense 看到。

最佳答案

@bogdan 是正确的:GLEW 的静态库版本是glew32s.lib

顺便说一句,GLEW installation page在 sourceforge.net 上说你必须“如果你想要静态链接,就必须将 include glew.h 和 glew.c 包含到你的项目中”。虽然这听起来很简单,但对每个 openGL 项目都这样做似乎是不必要的粗糙。相反,请执行以下操作:

  • Properties - Common Properties - 下添加 GLEW_STATIC 宏C/C++ - 预处理器 - 预处理器定义
  • Properties - Common Properties - Linker - Input - Additional Library Dependencies下添加glew32s.lib
  • 如果您没有将 glew32s.lib 复制到 Visual Studio 的默认库路径之一,请在 Properties - Common Properties - Linker - General - Additional Library Directories 下添加路径

为我工作。

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

关于c++ - 虚拟机上的Visual Studio 2013 C++链接静态库glew、glfw,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31090963/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com