Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
GTK WIn7的替代方案_Gtk - Fatal编程技术网

GTK WIn7的替代方案

GTK WIn7的替代方案,gtk,Gtk,我已经开始使用GTK2了,我发现这个库的工作原理非常好,但是文档太差了 我想升级到GTK3,但似乎我需要安装一个叫做packman的东西。这对我来说是一个困难的哲学步骤。为什么我不能直接下载一个zip文件呢 文档使用了很多单词,但没有说太多,下载希望您下载gtk以外的内容以获得gtk。为什么他们不简单地有一个GTK包,让我决定是否需要所有其他的东西 而且,我一直在论坛上阅读,即使我做了packman的东西,对C::B来说还是不够的 无论如何,这主要是一个咆哮,我真正想要的是一个建议,以替代GTK

我已经开始使用GTK2了,我发现这个库的工作原理非常好,但是文档太差了

我想升级到GTK3,但似乎我需要安装一个叫做packman的东西。这对我来说是一个困难的哲学步骤。为什么我不能直接下载一个zip文件呢

文档使用了很多单词,但没有说太多,下载希望您下载gtk以外的内容以获得gtk。为什么他们不简单地有一个GTK包,让我决定是否需要所有其他的东西

而且,我一直在论坛上阅读,即使我做了packman的东西,对C::B来说还是不够的

无论如何,这主要是一个咆哮,我真正想要的是一个建议,以替代GTK+

以下是我的一些要求

1、它不能是口译员。使用Code::Blocks和C,我得到一个exe文件,我想继续这样做

2它必须使用C进行编程。我真的很想使用wiith C::B,但我想在必要的时候我可以使用Eclipse,尽管这是另一个噩梦,我不会在这里讨论

3 GTK要求随exe文件一起提供一组DLL。如果整个目标可以包含在单个exe中,而不必依赖外部dll或.net framework或其他外部内容,这将是理想的

任何建议都会被采纳的


谢谢,马克。

你最好看一下

<>如果你坚持C而不是C++,那么QT就出来了。 另一个突出的是。我自己从未使用过它,但它有很好的声誉,如果你想退出GTK+并坚持使用C,它可能是你最好的选择。但是我不知道在Windows上使用它有多容易

现在关于GTK+:

而且,我一直在论坛上阅读,即使我做了packman的东西,对C::B来说还是不够的

这里有人将GTK+与Code::Blocks一起使用,所以我不明白您指的是什么样的问题

然后你的其他问题:

文档使用了大量的单词,但没有说太多

例子

下载希望你下载gtk以外的东西,以获得gtk

你没有得到的是GTK+不仅仅是libgtk库。它依赖于许多其他库,如glib、cairo、pango等。过去,在Windows上安装这些库需要一个捆绑包或安装程序,但人们在根据自己的需要设置环境时会遇到麻烦,于是放弃。由于Windows平台的GTK+人力有限,GTK+团队将GTK+二进制文件的分发委托给MSYS2项目

MSYS2是一个流行的项目,它提供了许多已经为Windows构建的开源软件,并解决了为用户手工构建和安装依赖项的问题。此步骤旨在使安装更简单,而不是更困难。在一些命令中,您已经为您的平台安装了GTK+及其所有依赖项,并且可以开始编写应用程序。另一个命令,您已经安装了python和python GTK+绑定,可以开始了。想依赖另一个流行的图书馆吗?很可能MSYS已经提供了它

几十年来,人们都知道Windows在依赖关系管理方面很差。如果包管理不是Windows上的一个难点,那么像或这样的东西就不存在了

你哲学上的不情愿仅仅是:哲学上的。当然,Windows上的GTK+并不完美。使用MSYS2,您将获得使用gcc构建的包,因此调试符号与Visual Studio调试器不兼容,您将需要使用gdb。但是在你的另一个问题上,你说你使用gcc并且厌恶visualstudio,所以这对你来说不应该是一个拦路虎

GTK要求随exe文件一起提供一组DLL。如果整个目标可以包含在单个exe中,而不必依赖外部dll或.net framework或其他外部内容,这将是理想的


由于不支持GTK+的静态编译,目前还不可能这样做。然而,应用程序的重新分发并不像我希望的那么容易。在Windows上使用MSYS2时重新分发应用程序的最佳方法是为应用程序创建一个pacman软件包,列出其依赖项,然后致电pacman将应用程序安装在一个空目录中,并告诉它也在那里安装所有依赖项。结果将是一个目录,您可以重新分发,其中包含应用程序的自包含安装及其所有依赖项,包括GTK+。

谢谢@liberforce,当有人花时间阐述这么多信息时,我真的很感激。我将研究英语学习。我已经创建了一个虚拟机来测试东西,我可能需要改变我对MSYS2的势利态度。但是,这以及您提到的其他软件包,只是GTK之上的另一条学习曲线。我真的很喜欢自己做所有的编程。我理解像Py这样的高级语言的需要 thon和Java确实使跨平台兼容性变得更容易,但我在MOT 6800上学习了汇编,并且非常喜欢使用C的总体灵活性。