问题 从Cygwin下的OpenGL开始


是否有可能从Cygwin下编译和运行OpenGL程序?如果有,怎么样?


4822
2017-08-18 08:48


起源



答案:


可以在Cygwin下编译和运行OpenGL程序。我在这里说明基本步骤:

  1. 我假设您了解OpenGL编程。如果没有,那就去吧 红色的书 (OpenGL编程指南)。无论如何,这是OpenGL的必读内容。

  2. 我假设你安装了Cygwin。如果没有,请访问 cygwin.com 并安装它。

  3. 要编译和运行OpenGL程序,需要名为Cygwin的软件包 OpenGL的。在Cygwin安装程序中,可以在下面找到它 图形部分。请安装此软件包。

  4. 写一个简单的OpenGL程序,比方说 ogl.c

  5. 使用标志编译程序 -lglut32 -lglu32 -lopengl32。 (这将您的程序与GLUT,GLU和OpenGL库链接.OpenGL程序通常可能使用其中3个函数。)例如:

    $ gcc ogl.c -lglut32 -lglu32 -lopengl32

  6. 运行程序。就这么简单!


13
2017-08-18 08:50



目前,没有包 OpenGL的 在Cygwin存储库中。 - Daniel Saner
截至目前。 - wulfgarpro
目前,既没有 opengl 也不 freeglut 在Cygwin afaik。 - kleinfreund
嗯,可能会失败 gl 而不是 opengl?如果你正在使用 CMake 作为一个项目系统 cygwin 确实利用了 pkg-config 这可以帮助找到库,但它对OpenGL来说有点混乱......! - SlySven


答案:


可以在Cygwin下编译和运行OpenGL程序。我在这里说明基本步骤:

  1. 我假设您了解OpenGL编程。如果没有,那就去吧 红色的书 (OpenGL编程指南)。无论如何,这是OpenGL的必读内容。

  2. 我假设你安装了Cygwin。如果没有,请访问 cygwin.com 并安装它。

  3. 要编译和运行OpenGL程序,需要名为Cygwin的软件包 OpenGL的。在Cygwin安装程序中,可以在下面找到它 图形部分。请安装此软件包。

  4. 写一个简单的OpenGL程序,比方说 ogl.c

  5. 使用标志编译程序 -lglut32 -lglu32 -lopengl32。 (这将您的程序与GLUT,GLU和OpenGL库链接.OpenGL程序通常可能使用其中3个函数。)例如:

    $ gcc ogl.c -lglut32 -lglu32 -lopengl32

  6. 运行程序。就这么简单!


13
2017-08-18 08:50



目前,没有包 OpenGL的 在Cygwin存储库中。 - Daniel Saner
截至目前。 - wulfgarpro
目前,既没有 opengl 也不 freeglut 在Cygwin afaik。 - kleinfreund
嗯,可能会失败 gl 而不是 opengl?如果你正在使用 CMake 作为一个项目系统 cygwin 确实利用了 pkg-config 这可以帮助找到库,但它对OpenGL来说有点混乱......! - SlySven


如果上述方法不起作用(并且不适用于我),请尝试以下方法(确实如此!)

gcc ogl.c -lglut -lglu -lgl


2
2017-11-04 20:43





我记得几年前取得了一些成功,基本上试图交叉编译一个小的Linux OpenGL C ++程序。我确实记得Windows OpenGL驱动程序落后于时代的问题(由于MS专注于DirectX)。我在我的Windows系统上安装了NVidia OpenGL和DirectX驱动程序,但cygwin / g ++似乎只想使用多年前的Microsoft OpenGL DLL,它们没有对所有ARB扩展的最新支持,如着色器程序等。 YMMV


1
2017-08-23 21:09