【问题标题】:compile opengl with mingw in linux在linux中用mingw编译opengl
【发布时间】:2011-03-13 18:59:34
【问题描述】:

我想问我如何用mingw编译opengl。 (在 Linux 中) 对于 c++ 文件,我知道我可以这样做:

i586-mingw32msvc-g++ main.cpp -o main.exe

没关系。

如果我用 opengl 项目尝试它,它会给我错误,比如: glutInit' 未在此范围内声明等..

我在 /usr/i586-mingw32msvc/include/GL 中复制了 glut.h ,glx.h,freeglut.h 但什么也没发生。

【问题讨论】:

  • #include他们了吗?
  • 在 main.c:11 包含的文件中:/usr/lib/gcc/i586-mingw32msvc/4.4.4/../../../../i586-mingw32msvc/include /GL/glut.h:17:26:错误:freeglut_std.h:它不存在于 main.c:13 中包含的文件中:/usr/lib/gcc/i586-mingw32msvc/4.4.4/../ ../../../i586-mingw32msvc/include/GL/glx.h:38:22:错误:X11/Xlib.h:它不存在/usr/lib/gcc/i586-mingw32msvc/4.4 .4/../../../../i586-mingw32msvc/include/GL/glx.h:39:23:错误:X11/Xutil.h:它不存在于 main 包含的文件中。 c:13: ......等等
  • 最后:main.c:15:58: error: X11/X.h: It doesn't exist main.c:16:24: error: X11/keysym.h: It does '不存在main.c:在函数'main'中:main.c:77:错误:'GLUT_SINGLE'未声明(在此函数中首次使用)main.c:77:错误:(每个未声明的标识符仅报告一次main。 c:77: error: 对于它出现的每个函数。) main.c:77: error: 'GLUT_RGB' undeclared (first use in this function)
  • 我找到了(不是用mingw):$ gcc -o draw.exe main.c -lGL -lGLU -lglut

标签: linux opengl compilation mingw


【解决方案1】:

您需要链接 GLUT。

i586-mingw32msvc-g++ main.cpp -o main.exe -lglut

上面的行假设 glut 安装在编译器搜索路径中。尝试一下,让我们知道这对您有什么影响。

【讨论】:

  • 他正在通过 Wine 从 Linux 交叉编译到 Win32。他在链接之前在哪里安装了编译的 glut 库?对于安装交叉编译库的位置似乎没有约定...有些将它们放在 /usr/local 下...我想我会提出一个新问题...
猜你喜欢
  • 1970-01-01
  • 2018-06-29
  • 1970-01-01
  • 2011-04-18
  • 1970-01-01
  • 1970-01-01
  • 2010-11-20
  • 1970-01-01
  • 2013-04-05
相关资源
最近更新 更多