【发布时间】:2017-03-30 12:06:03
【问题描述】:
我有以下 gcc 命令可以正常工作:
gcc -Wall -g hello_gl.c -lglut32 -lopengl32 -lglu32 -o hello_gl && hello_gl
我想避免手动链接每个 OpenGL 库的痛苦,从而找到一种方法让 MinGW 了解 glut32、openGL32、glu32 都位于 C:\MinGW \lib .
我尝试按照 MinGW 官方文档设置以下 windows envar:
CPATH = C:\MinGW\include
LIBRARY_PATH = C:\MinGW\lib
但是当我尝试简单地运行这个时:
gcc -Wall -g hello_gl.c -o hello_gl && hello_gl
MinGW 找不到 OpenGL 库。
我也尝试在 gcc 命令中强制 lib 路径:
gcc -Wall -g -IC:\MinGW\include hello_gl.c -LC:\MinGW\lib -o hello_gl && hello_gl
但再次,MinGW 无法找到 OpenGL 库。
所以我想知道
- 手动链接所有包含的 lib 是 OpenGL Lib 的义务?
- 如果是,为什么会这样?
- 如果不是,我该如何解决我的问题并强制 MinGW 找到它们?
干杯
【问题讨论】:
-
有这么多不同类型的应用程序,如果任何编译器都遵循您的想法,那么每个库都应该自动添加到任何项目中。那性能太低了。此外,如果您有不同的库,您知道为什么,它会与其他目录中具有相同名称的“自动”库混淆。
-
谢谢 Ripi2,确实有道理。
-
我怀疑您之所以问这个问题是因为您手动输入构建命令并希望节省输入时间。考虑改用
make之类的构建系统,或者至少使用构建脚本。 -
完全是我手动输入的 :) 基本上一个构建脚本将是一个包含 gcc 命令的 bash 文件?我猜这个的专业版会开始写makefile吗?你说的对 !谢谢你的建议。
标签: c windows opengl gcc mingw