在Windows上开发Gtk3

12 浏览
0 Comments

在Windows上开发Gtk3

我对C++和SO(Stack Overflow)都是相对新手。

在控制台应用程序的创造力达到极限之后,我的脑海中充满了对如何编写GUI的渴望。我做了一些研究,决定使用GTK而不是Qt,因为这样可以自由选择,而且不会有任何附加条件,还有一些关于网络慢和必须下载0.6GB的原因。

在Gtk上尝试构建“Hello World”已经是48个艰难的小时了。我正在发脾气。我正在使用Visual Studio 2010。也许这是我所有困扰的根源。似乎Gtk是为C而不是C++设计的。在解决了头文件包含和某个臭名昭著的glibconfig.h缺失问题之后(我从互联网上下载了它,结果发现它应该是一个生成的文件,令我感到恐惧),编译器出现了语法错误,特别是在一个gatomic.h文件中。

我怀疑每解决一个问题,就会出现10个错误。这就是你的用武之地。你是否使用Gtk来开发C++?如果不是,为什么?你会推荐其他什么?你在Windows上使用Gtk吗?那怎么可能?请提供详细信息。

是否可能创建跨平台的应用程序,使用C++代码和Python/VB GUI?

真诚地期待你的答复。

0
0 Comments

在几个月前,当Gtk3刚刚在Windows上发布时,我曾经不得不将一个Gtk3项目在Windows上运行。我在Visual Studio下编译时也遇到了问题,并在这里发布了一个问题,具体问题链接为:这个

以下是我在Windows上使其正常工作的方法:

  1. 从gtk.org下载Windows的一体化包。
  2. 安装并在项目中设置包含/链接目录。(个人而言,我将gtk的文件夹都放在项目文件夹中,并将“include”目录设置为包含目录,“lib”目录设置为链接目录,然后将编译器找不到的文件/文件夹移动到“include”目录的根目录)
  3. 如果没有自动设置,请根据需要添加包含和链接目录,直到编译器找到所有文件为止。
  4. 如果使用MinGW编译,此时编译将成功。
  5. 如果使用Visual Studio,您必须根据gtk邮件列表中的描述修改gtk头文件:

    在gutils.h的82和122行以及gstring.h的129行,将

    “static inline”更改为“static __inline”。

    注意,这个修改不会影响MinGW的编译能力。

我成功地在Windows上使用Visual Studio或Code::Blocks以及Linux上编译了我的Gtk3项目,而无需编写特定于平台的代码。只需在发布程序时不要忘记将所需的运行时dll文件与程序一起提供。

0
0 Comments

问题:在Windows上开发(Gtk3 developing on windows)的原因和解决方法。

Gtk主要是作为Gnome的工具包开发的,可以说主要关注于Linux平台的高质量,而其他平台则是次要的。这在与Windows和MacOS的本地外观和感觉的集成上可能是最明显的。如果您正在寻找一个在所有主要平台上表现都相同的工具包,我建议您重新考虑使用Qt。

具体问题的回答如下:

C/C++:Gtk是用C语言编写的,因此具有C API。如果您正在寻找C++ API,请查看Gtkmm绑定。请注意,您也可以在C++应用程序中使用C API。

glibconfig.h:我不知道您是否尝试编译Gtk,但获得Windows上的Gtk3最简单的方法是从http://www.gtk.org/download/win32.php下载预编译的一体化包(其中包括您缺失的glibconfig.h)。

何时以及如何使用Gtk以及使用哪种语言:如上所述,Gtk的主要用户是为Gnome桌面环境开发应用程序的人。然而,现在大多数跨平台应用程序使用Qt,因为在Windows和MacOS上的质量比Gtk高。

关于使用哪种语言,Gtk的一个优点是存在许多语言的绑定(包括C++和Python),因此您不一定局限于C。

如何使用Gtk:与具有出色的Qt Creator不同,Gtk在易于开发的专门设计的集成开发环境方面有所欠缺。您可能会使用Glade进行界面设计,然后使用您选择的文本编辑器或集成开发环境进行编码,但这个选择将取决于您所在的平台。显然,正如您可能注意到的,将Gtk集成到所选择的环境中通常需要一些工作(并且还需要一些更多的技术知识)。因此,如果您正在寻找一个易于设置和使用的用于开发GUI应用程序的环境,我建议您选择Qt和Qt Creator。

跨平台应用:首先,Visual Basic不是跨平台的。但一般来说,有很多使用不同语言进行跨应用程序开发的可能性。

0