我有以下可正常工作的gcc命令:
gcc -Wall -g hello_gl.c -lglut32 -lopengl32 -lglu32 -o hello_gl && hello_gl
我想避免手动链接每个OpenGl lib的痛苦,从而找到一种方法让MinGW明白 glut32,openGL32,glu32 都位于 C:\ MinGW \ lib 。
我尝试在MinGW官方文档后设置以下窗口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找到它们?
干杯
答案 0 :(得分:2)
以下命令并不告诉gcc使用任何库构建,只是在哪里找到它们。
gcc -Wall -g -IC:\MinGW\include hello_gl.c -LC:\MinGW\lib -o hello_gl && hello_gl
你必须包含-l [libraryname]选项,否则,如何知道你想要链接哪些库,就像你必须告诉它想要构建哪些源文件或目标文件一样用。