我正在GPS IDE中使用ADA编写简单的OpenGl程序。
我拥有所有支持文件(例如glut.ads/adb、Gl.ads/adb)
我创建了"pragma Linker_Options("../Lib/glut32.dll");"
但是我收到类似错误
Link
[link] main.adb
collect2.exe: error: ld returned 5 exit status
gprbuild: link of main.adb failed
gprbuild: failed command was: c:\gnat\2019\bin\gcc.exe main.o b__main.o D:\Saravanan\Project\Training\Open_GL Project\obj\GL-Extended.o D:\Saravanan\Project\Training\Open_GL Project\obj\GL.o D:\Saravanan\Project\Training\Open_GL Project\obj\glut.o -LD:\Saravanan\Project\Training\Open_GL Project\obj\ -LD:\Saravanan\Project\Training\Open_GL Project\obj\ -LC:/gnat/2019/lib/gcc/x86_64-pc-mingw32/8.3.1/adalib/ -static-libgcc ../Lib/glut32.dll C:/gnat/2019/lib/gcc/x86_64-pc-mingw32/8.3.1/adalib/libgnat
.a -Wl,--stack=0x2000000 -o main.exe
[2019-12-23 15:28:13] process exited with status 4, elapsed time: 01.83s
请帮助我解决此问题
答案 0 :(得分:3)
答案 1 :(得分:2)
如果您使用的是FreeGLUT,则需要链接其他系统库:
pragma Linker_Options ("-lglu32", "-lopengl32", "-lgdi32",
"-lwinmm", "-luser32");
这些来自FreeGLUT C header。
然后,您要么执行@DeeDee的建议,要么将DLL文件放入c:\gnat\2019\lib
中,然后执行
pragma Linker_Options ("-lglut32");
您可能想看一下我的OpenGLAda绑定,该绑定使用GPR文件处理此内容,但使用GLFW而不是GLUT。