GPS未在Build& amp;展示中显示GTKAda应用程序跑

时间:2018-04-21 08:17:01

标签: ada gnat-gps

我想使用以下程序玩GPS一点,这个程序只是来自GPS生成的模板。

当我尝试构建&运行我看不到Window,但是如果我导航到可执行文件的文件夹,我可以运行可执行文件并看到窗口。我可以看到此标签已创建,但我看不到我的申请。

with Gtk.Box;         use Gtk.Box;
with Gtk.Label;       use Gtk.Label;
with Gtk.Widget;      use Gtk.Widget;
with Gtk.Main;
with Gtk.Window;      use Gtk.Window;

procedure Main is

   Win   : Gtk_Window;
   Label : Gtk_Label;
   Box   : Gtk_Vbox;

begin
   --  Initialize GtkAda.
   Gtk.Main.Init;

   --  Create a window with a size of 400x400
   Gtk_New (Win);
   Win.Set_Default_Size (400, 400);

   --  Create a box to organize vertically the contents of the window
   Gtk_New_Vbox (Box);
   Win.Add (Box);

   --  Add a label
   Gtk_New (Label, "Hello world.");
   Box.Add (Label);

   --  Show the window
   Win.Show_All;

   --  Start the Gtk+ main loop
   Gtk.Main.Main;
end Main;

GPS Tab Run

我甚至尝试确保我的程序正在运行,并将Ada.Text_IO.Put_Line("Hello, World!");放在源代码中,它似乎根据“运行”选项卡运行。

2 个答案:

答案 0 :(得分:1)

这是因为它卡在Gtk.Main.Main循环中。 要查看窗口,您可以使用自定义运行命令(Shift + F2)并检查"在外部终端中运行"选项。

Configure External 1

单击执行按钮,您将看到GtkWindow正常运行。

Configure External 2

有关详细信息,请查看: The Build Menu - Using the GNAT Programming Studio

答案 1 :(得分:1)

我有同样的问题。 您需要向链接器添加“ Windows GUI”指令。

转到Project / Properties,在Build / Switches / Ada Linker下,将此指令添加到字段

-Wl,--subsystem,windows

或按如下所示将其放入您的gpr文件链接器部分:

package Linker is
  case Library_Type is

     when "static" =>
        for Switches ("ada") use ("-Wl,--subsystem,windows");

     when "static-pic" =>

     when "relocatable" =>

  end case;
end Linker;