我想使用以下程序玩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;
我甚至尝试确保我的程序正在运行,并将Ada.Text_IO.Put_Line("Hello, World!");
放在源代码中,它似乎根据“运行”选项卡运行。
答案 0 :(得分:1)
这是因为它卡在Gtk.Main.Main循环中。 要查看窗口,您可以使用自定义运行命令(Shift + F2)并检查"在外部终端中运行"选项。
单击执行按钮,您将看到GtkWindow正常运行。
有关详细信息,请查看: 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;