Shell命令在Gprbuild中编译C

Fré*_*aca 1 c ada gprbuild

使用GtkAda,我尝试使用资源API在代码中直接包含Glade文件。

为此,我们可以使用glib-compile-resources从一组资源中生成C代码,然后可以将其链接到Ada代码。

问题在于,此C代码需要Gtk包含,我们通常从Linux下的pkg-config命令获得该包含,例如

gcc -c -x c `pkg-config --cflags gio-2.0` myglade.gresource.c
Run Code Online (Sandbox Code Playgroud)

我想知道如何在GPRBuild项目文件中提供相同类型的信息。

仅供参考,我已经尝试在C语言的编译器软件包中使用pkg-config命令,但没有成功。当然,我设法手工建造,但这有点长:)

Sim*_*ght 5

这可能对您有用:

project Config_Demo is
   Pkg_Config := external_as_list ("PKG_CONFIG", " ");
   package Compiler is
      --  only this file needs the extra switches
      for Switches ("myglade.gresource.c") use Pkg_Config;
   end Compiler;
end Config_Demo;
Run Code Online (Sandbox Code Playgroud)

然后

gprbuild -P config_demo -XPKG_CONFIG="`pkg-config -cflags gio-2.0`"
Run Code Online (Sandbox Code Playgroud)