C语言 gtk+开发有哪些IDE可用

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/2894655/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-09-02 05:30:26  来源:igfitidea点击:

What are the IDEs available for gtk+ development

cidegtk

提问by 0xAX

Recently i start to studying C/gtk+ programming. And want to ask one question: what are the IDEs available for C/gtk+ development apart from command line interface?

最近我开始学习 C/gtk+ 编程。并且想问一个问题:除了命令行界面,还有哪些 IDE 可用于 C/gtk+ 开发?

Thank you.

谢谢你。

回答by Joey Adams

In my (biased) opinion and experience, you're better off learning GTK by command-line compilation and your favorite editor (gedit, kate, vi, emacs, whatever). This way, you can learn at your own pace rather than trying to grapple with a big complicated IDE that really isn't beginner-friendly. Nonetheless, be aware of devhelp (GTK's development documentation program) and try building a couple GUIs with glade3 and using them in your C programs.

在我(有偏见的)意见和经验中,您最好通过命令行编译和您最喜欢的编辑器(gedit、kate、vi、emacs 等)来学习 GTK。通过这种方式,您可以按照自己的步调学习,而不是试图处理一个真正不适合初学者的大型复杂 IDE。尽管如此,请注意 devhelp(GTK 的开发文档程序)并尝试使用 Glade3 构建几个 GUI 并在您的 C 程序中使用它们。

This might not be the answer you want, but I feel that C/C++ GUI IDEs tend to suck, at least for beginners.

这可能不是您想要的答案,但我觉得 C/C++ GUI IDE 往往很糟糕,至少对于初学者而言。

Anjutacan do C/GTK+, but I personally wasn't very impressed with it. It asks you what plugin you want to open .glade files with, new projects are built with autoconf (resulting in a mess of over 70 files for a simple "Hello world") and localized with gettext by default (resulting in a bunch of boilerplate code in main.c), and it pops dialogs like this when you invoke weird edge cases such as double clicking a button you just created:

Anjuta可以做 C/GTK+,但我个人对它印象不深。它询问你想用什么插件打开 .glade 文件,新项目是用 autoconf 构建的(导致一个简单的“Hello world”有超过 70 个文件的混乱)并默认使用 gettext 本地化(导致一堆样板main.c 中的代码),当您调用奇怪的边缘情况(例如双击您刚刚创建的按钮)时,它会弹出这样的对话框:

Error while adding a new handler stub: There is no associated editor for the designer.  To avoid this message turn off "(null)" flag in Preferences->Glade GUI Designer

添加新处理程序存根时出错:设计器没有关联的编辑器。 为避免出现此消息,请在 Preferences->Glade GUI Designer 中关闭“(null)”标志

My impression of Anjuta from the perspective of a beginner was, as you can tell, highly negative. It shows a whole lot of advanced options, but doesn't let you do basic tasks without a lot of hassle. Anjuta is not alone. In general, I don't believe I've ever found a (mature) C/C++ IDE for any GUI toolkit that was easy for a beginner like me.

从初学者的角度来看,我对 Anjuta 的印象是非常消极的。它显示了大量高级选项,但不能让您轻松完成基本任务。Anjuta 并不孤单。总的来说,我不相信我曾经为任何 GUI 工具包找到一个(成熟的)C/C++ IDE,它对像我这样的初学者来说很容易。

回答by detly

Personally I find that Eclipse CDTand Glademake a pretty good combination. Eclipse doesn't need you to use Autotools, etc. If you're under Debian/Ubuntu, I'd recommend manually installingEclipse instead of using the repository version.

我个人认为Eclipse CDTGlade是一个很好的组合。Eclipse 不需要您使用 Autotools 等。如果您使用的是 Debian/Ubuntu,我建议您手动安装Eclipse 而不是使用存储库版本。

回答by Dean Harding

There's really nothing all that special about GTK+, it's a pretty standard C API and so any IDE that lets you program C is going to work well for GTK+. Examples include Eclipseand Code::Blocks.

GTK+ 真的没有什么特别之处,它是一个非常标准的 C API,因此任何允许您对 C 进行编程的 IDE 都将适用于 GTK+。示例包括EclipseCode::Blocks

You can also use Gladeas RAD tool for developing GTK+ GUIs in a graphical way. Use of Glade is pretty much IDE-independent, though.

您还可以使用Glade作为 RAD 工具以图形方式开发 GTK+ GUI。不过,Glade 的使用几乎与 IDE 无关。

回答by iCoder

Eclipse or Anjuta IDE. I found Anjuta IDE comfortable.

Eclipse 或 Anjuta IDE。我发现 Anjuta IDE 很舒服。

回答by Bozhidar Batsov

NetBeanshas a pretty good C/C++ suport and if you want a designer I'd second Glade. I personally prefer Emacs + Semantic+ ECBfor C development.

NetBeans有一个很好的 C/C++ 支持,如果你想要一个设计师,我会第二个 Glade。我个人更喜欢 Emacs + Semantic+ ECB进行 C 开发。