如何将 GLFW 功能导入 Ada?
使用 GNAT GPS 作为编译器并具有以下文件夹结构:
- 测试.adb
- 测试.gpr
- 垃圾桶
- 对象
- libglfw3.a
- 库
- libglfw3.a
测试.gpr
project test is
for Source_Dirs use ("");
for Main use ("test.adb");
for Object_Dir use "obj";
for Library_Dir use "lib";
for Exec_Dir use "bin";
end test;
测试.adb
with Interfaces.C;
with Ada.Text_IO;
procedure test is
pragma Linker_Options("-lglfw3");
pragma Linker_Options("-lgdi32");
pragma Linker_Options("-lopengl32");
function Init return Interfaces.C.int;
pragma Import(C,Init,"glfwInit");
success : Interfaces.C.int;
begin
success := Init;
Ada.Text_IO.Put_Line(success'Img);
end test;
编译gprbuild -P test.gpr
并输出:
p:/gnat/2014/bin/../libexec/gcc/i686-pc-mingw32/4.7.4/ld.exe: cannot find -lglfw3
所以我在想当 gdi32,winmm,opengl32被发现是因为它们已经安装在我的电脑上。我不知道他们是否需要,但只是为了安全起见。找不到 glfw3库,所以我不知道我是否以正确的方式使用 Linker_Option 或将libglfw3.a文件放在哪里。有没有链接到 c 库的好方法?