好的,情况就是这样:
我有一个使用SDL和OpenGL的应用程序。我一直在Linux(Ubuntu 10.10)中开发它,并且在该平台上它可以毫不费力地编译,构建和运行。我希望能够在Windows上测试我的应用程序,为此我一直试图用MinGW工具链交叉编译它。现在,应用程序编译时没有任何警告,但对于我的生活,我无法正确链接OpenGL库。具体来说,我会多次出现以下错误:
对
_glUseProgram@4'
_ glDetachShader @ 8'的未定义引用 对
undefined reference to_glDeleteProgram@4'
_ glDeleteShader @ 4'的未定义引用 未明确引用
undefined reference to_glCreateProgram@0'
_ glCreateShader @ 4' 对
undefined reference to_glShaderSource@16'
_ glCompileShader @ 4'的未定义引用 未定义引用
undefined reference to_glGetShaderiv@12'
_ glGetShaderInfoLog @ 16' 未定义引用``_glAttachShader @ 8'
undefined reference to
......等等
为完整起见,用于链接应用程序的命令:
i586-mingw32msvc-g ++ -Wall -g -DGL_GLEXT_PROTOYPES -o
<output file
&gt;<object files
&GT; -Llib / lib -lmingw32 -lSDLmain -lSDL -mwindows -lglu32 -lopengl32 -I./include -I / usr / include -I./lib
应该指出的是,我对软件开发很陌生,所以我对这些工作原理的理解在这一点上相当浅薄。