我是(相对)新的C ++和SO。
将控制台应用程序的创造力发挥到极致,我非常狂热的想法现在想知道如何编写GUI。我做了一些研究,决定使用GTK而不是Qt,因为有选择的自由,没有任何附加条件,有关慢速互联网和下载0.6GB的东西,我可以选择Qt。
在Gtk上建立'Hello World'是一个残酷的48小时。这是我发脾气。我正在使用Visual Studio 2010.也许这是我所有困境的根源。似乎Gtk是用于C而不是C ++。在解决了包含头文件和一些臭名昭着的glibconfig.h
缺失的问题之后(我从互联网上下载只是为了发现它应该是生成的文件),编译器抛出了语法错误,特别是在一个gatomic.h
。
我怀疑每个我设法解决的问题都会出现10个错误。这就是你进来的地方。你用Gtk开发c ++吗?如果没有,为什么呢?你会推荐什么?你在Windows上使用Gtk吗?怎么可能?请详细说明。
是否可以制作使用C ++代码和Python / VB GUI的跨平台应用程序?
您的回答将受到衷心的感谢。
答案 0 :(得分:3)
首先,一般说明:Gtk主要是作为Gnome的工具包开发的,我认为可以公平地说,主要关注的是Linux上的高质量,而其他平台则是二等公民。通过查看与Windows和MacOS的本机外观的集成,这可能是最明显的。如果您正在寻找在所有主要平台上表现同样出色的工具包,我建议您重新考虑Qt。
就您更具体的问题而言:
<强> C / C ++ 强>
Gtk是用C语言编写的,因此有一个C API。如果您正在寻找C ++ API,请查看Gtkmm绑定。请注意,您还可以在C ++应用程序中使用C API。
<强> glibconfig.h 强>
我不知道您是否尝试过自己编译Gtk,但是获取Gtk3 for Windows的最简单方法是从http://www.gtk.org/download/win32.php下载预编译的一体化软件包(其中包括glibconfig.h)丢失)。
何时以及如何使用Gtk以及使用何种语言
如上所述,Gtk的主要用户是为Gnome桌面环境开发应用程序的人。现在大多数跨平台应用程序都使用Qt,因为Windows和MacOS的质量与这些平台上的Gtk相比要高。
关于使用什么语言,Gtk的优势在于存在许多语言(包括C ++和Python)的绑定,因此您当然不限于C语言。
使用C ++开发时,我个人喜欢Gtkmm的东西是它使用标准库,而不是Qt,它有自己的数据结构实现等(原因是Qt早于STL一般的时间)可在所有主要平台上使用。
如何使用Gtk:与具有优秀Qt Creator的Qt相反,Gtk在某种程度上缺乏专门设计的IDE以便于开发。您将获得的关闭是使用Glade进行界面设计,以及您选择的文本编辑器或IDE进行编码,但该选择因您所使用的平台而异。很明显,正如您可能已经注意到的,将Gtk集成到选择的环境中通常需要一些工作(以及一些更多的技术知识)。再说一次,如果您正在寻找一个易于设置和使用的环境来开发GUI应用程序,我只需要使用Qt和Qt Creator。
跨平台应用
首先,Visual Basic不是跨平台的。但总的来说,使用各种语言进行跨应用程序开发有很多可能性。
答案 1 :(得分:0)
以下是我如何在Windows上使用它:
在gutils.h第82和122行以及gstring.h第129行中,更改 &#34;静态内联&#34;到&#34;静态__inline&#34;。 大段引用 请注意,修改不会影响MinGW的编译能力。
我已经在两个窗口(使用Visual Studio或Code :: Blocks)和linux上成功编译了我的gtk3项目,而没有编写特定于平台的代码。在发货时,不要忘记在程序中包含所需的运行时dll。