ADA无法在GPS IDE中链接glut32.dll

时间:2019-12-23 10:12:12

标签: ada

我正在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

请帮助我解决此问题

2 个答案:

答案 0 :(得分:3)

您可能想尝试

pragma Linker_Options("-L../Lib");
pragma Linker_Options("-lglut32");

另请参见herehere

答案 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。