【问题标题】:GLEW Linker Errors (undefined reference to `__glewBindVertexArray')GLEW 链接器错误(未定义对 `__glewBindVertexArray' 的引用)
【发布时间】:2012-11-03 06:50:09
【问题描述】:

我最近决定使用我正在使用非贬值技术为游戏重新编写一些 OpenGL 代码。我没有使用 glBegin() 和 glEnd() 绘制基元,而是尝试坚持使用顶点数组对象等。我正在尝试从 http://www.opengl-tutorial.org/beginners-tutorials/tutorial-2-the-first-triangle/ 获取要编译的代码。我以前做过很多链接,但由于某种原因,这不起作用。我正在尝试将 GLEW 链接到我的项目,其中 CodeBlocks 作为我的 IDE,MinGW GCC 作为我的编译器。我该如何解决这个问题?是的,我确实链接了“glew32.lib”

【问题讨论】:

  • 大胆猜测:也许您需要将 #include <GL/glew.h> 行包含在 extern "C" { ... } 中?
  • 另外,你是如何尝试链接它的?根据glew.sourceforge.net/install.html,包含源文件肯定更容易。
  • extern "C" { #include }
  • 这就是我的链接方式。在代码块项目构建选项下。 tinypic.com/r/fw7xx1/6
  • 对于在 Ubuntu 中寻找正确链接标志的用户:-lGLEW

标签: opengl mingw codeblocks glew


【解决方案1】:

如果您使用 Linux、FLTK ui 库和 OpenGL,请参阅 .../bin/fltk-config 文件以了解 LDLIBS。它还应该包含“-lGLEW”,或者您可以在编译时将此选项添加到 LDLIBS 参数中。当然应该安装“libglew-dev”。

【讨论】:

    【解决方案2】:

    试试这个:

    pkg-config --libs --static glew
    

    在终端中。然后,复制它给你的库并粘贴到你的 gcc/g++ 语句之后:

    g++ <your-file-name>.cpp -o <output-file-name> -lGL -lGLU -lglfw3 -lrt -lm -ldl -lXrandr -lXinerama -lXcursor -lXext -lXrender -lXfixes -lX11 -lpthread -lxcb -lXau -lXdmcp -lGLEW -lGLU -lGL -lm -ldl -ldrm -lXdamage -lX11-xcb -lxcb-glx -lxcb-dri2 -lxcb-dri3 -lxcb-present -lxcb-sync -lxshmfence -lXxf86vm -lXfixes -lXext -lX11 -lpthread -lxcb -lXau -lXdmcp 
    

    (上面重复了一些,因为我也使用了glfw)

    这应该可以解决您的问题,因为通常这些库没有被声明。

    【讨论】:

      【解决方案3】:

      如果您静态链接 GLEW,通常会发生这种情况,但不要通知标头这会发生。为此,您必须定义预处理器标记“GLEW_STATIC”。这最好作为编译器选项来完成。如果是 GCC,请将 -DGLEW_STATIC 添加到编译器命令行。

      【讨论】:

      • 成功了!谢谢。最终我决定只为 GLEW (glew.c) 提供源文件。然而,现在我得到了对“WinMain@16”的未定义引用。现在杀了我!
      • 我得到一个未定义的 winmain 引用,无论我是静态声明它(如你建议的那样)还是只是将源文件放入
      • @user1575273:你使用什么框架? WinMain 是常规 Windows 可执行文件的进程入口函数。您也可以使用常规 main,但这需要对链接选项进行一些调整。
      • SDL。我在所有其他预处理器声明中加入了“#undef main”,它成功了
      猜你喜欢
      • 1970-01-01
      • 2022-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多