GLFW機能をAdaにインポートするには?
GNAT GPS をコンパイラとして使用し、次のフォルダー構造を持ちます。
- test.adb
- test.gpr
- 置き場
- オブジェクト
- libglfw3.a
- ライブラリ
- libglfw3.a
test.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;
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が見つかったのは、それらが既に PC にインストールされているためだと考えていました。それらが必要かどうかはわかりませんが、安全のために。glfw3 lib が見つからないため、Linker_Option を正しい方法で使用しているかどうか、または libglfw3.a ファイルをどこに配置するかがわかりません。c ライブラリにリンクする良い方法はありますか?