使用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命令,但没有成功。当然,我设法手工建造,但这有点长:)
这可能对您有用:
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)