可携式C++集成开发环境

5

我需要一个通用的、可移植的C++ IDE,用于一般开发以及开发基本的Windows GUI应用程序。

在我的研究中,我发现了以下这些(附有最新版本日期):

但我不知道这些IDE是否支持Windows GUI开发(或跨平台GUI开发),或者它们是否可以是可移植的(NetBeans可以是可移植的)。

编辑:阅读回复并进行更多研究后,我正在NetBeans或Qt Creator之间做出选择。但Qt Creator有287mb(对于可移植开发来说很大)。看起来很遗憾,即使NetBeans很小(C++接近30mb),也需要Qt库用于GUI(278mb)...


4
购买一台上网本并安装Visual Studio Express。 - JRL
1
你的意思是“便携式”,是指“我想在几个不同的平台上运行它”,还是指“我想从闪存驱动器上运行它”? - bta
1
@bta: “我想从闪存驱动器上运行它”,但如果“我可以在几个不同的平台上运行它”也不错! - Click Ok
1
为了手动实现便携性,获取一个可以监视安装过程并告诉你哪些文件被安装的程序(注意一下不在程序目录中的所有内容,例如DLL文件),以及做出了哪些注册表项。据我所知,http://portableapps.com/ 曾经有一个工具可以将非便携应用程序“包装”成便携应用程序。 - Mawg says reinstate Monica
1
当你说“在多个平台上运行”时,如果是Java的话那没问题,否则你需要为每个平台准备一个可执行文件,但它应该是数据兼容的(你的代码就是数据)。我也在Linux下使用Wine成功地运行了很多Windows程序(但不包括游戏)。 - Mawg says reinstate Monica
显示剩余3条评论
7个回答

4

如果您想编写跨平台GUI程序,Qt Creator是一个不错的选择。 Qt是一款优秀的跨平台GUI库。


3

bash shell(及其工具)+ vim + cmake + mercurial = 爱。Bash在所有流行的平台上都可用,即使是Windows。

p.s.,我忘了gdb + ddd。


4
是的,这听起来确实像一个集成开发环境(讽刺)。 - smerlin
@smerlin 哦,别这样。他的gravitar是GNU标志。对于@Hassan来说,那就是一个IDE。 - Barry Wark
如果你退一步考虑一下组成一个IDE的所有元素(调试器、智能构建规范机制、文件浏览器、代码提交抽象、语法高亮、自动完成、搜索和替换(代码重构)),那么我所指定的所有工具都执行这些任务。它们是最低公共分母。你没有m4、awk、grep以及像这些工具一样强大的管道和脚本功能。顺便说一句,我也经常使用Visual Studio,并且也经常使用Eclipse和NetBeans。这不是粉丝行为,而是工程学 :D - Hassan Syed
1
仅仅是因为IDE中的I代表着“集成”,而一群命令行工具则完全不是这样。 - Timbo
所有上述工具都是通过bash进行“集成”的。就像GUI IDE集成了替代我刚提到的各种小部件一样。OP并没有提到RAD工具或者IDE必须由GUI框架(如MFC或Java Swing)构建。 - Hassan Syed

2
你提到的所有IDE都是跨平台的,可以在Windows、Mac OS X和Linux上使用。话虽如此,你只需要使你的代码跨平台(使用BoostQt即可)。我个人在Mac OS X上使用Xcode,在Linux上使用GEdit、Anjuta或KDevelop,在Windows上使用Code::Blocks。你可能还会对我的C++应用程序项目模板C++库项目模板感兴趣,它们使用CMake构建系统提供了一个便携式的跨平台构建,并且同时使用了Boost和Qt;如果你使用标志“--gui”,应用程序项目模板已经有了创建“hello world”GUI的代码。
我还应该指出,CMake能够为各种IDE生成项目文件,因此使用CMake进行构建的优势在于,您可以生成makefile(默认),但也可以仅从一个项目描述文件中生成Visual Studio项目(Windows)、KDevelop项目(Linux)或Xcode项目(OS X),从而允许您使用特定开发平台的本地IDE。

2
您可以制作一个便携式NetBeans,以及Code::BlocksGeanyDev-C ++Eclipse
上述任何一个都应该能够进行Windows GUI或跨平台GUI开发,只需确保您在闪存驱动器上拥有所有必要的库的副本。如果您在闪存驱动器上使用便携式Cygwin,则可以包含gcc(因此您的IDE也具有编译器)和各种UI库的cygwin版本(gtk、FLTK、wxwidgets、qt等等)。
我看到有些人采取的另一种方法是在虚拟机中加载Linux安装程序,然后将其与Portable VirtualBox等东西一起放在闪存驱动器上携带。我建议先将它复制到硬盘上,因为直接从闪存驱动器运行性能会非常差。

至少有人理解跨平台和可移植性之间的区别。 - relascope

1

嗯,它没有便携版,但作为一款通用的多平台IDE,我肯定会选择Komodo Edit。我喜欢自动完成和调用提示功能。它们将我的编码速度和生产力提高了1000倍。我知道我听起来像广告,但不用担心,这是我最真诚的意见。

如果你想进行跨平台开发,我同意提到Qt的人。它是一个非常好的、可靠的(当然取决于你的要求)和灵活的跨平台框架。

祝你好运!


1

你考虑过Vim吗?虽然不是一个完整的IDE,但你可以轻松地将多个版本放在一个USB存储器上,以便随时随地运行。

对于某些事情,我喜欢Eclipse,但只有在主机上安装了Java时才能实现便携。Eclipse的另一个大问题是它对机器要求较高,而且在我看来需要一台快速的SMP机器才能良好运行。老实说,我现在不使用Eclipse来编写任何“C”语言。

EMACS可能是稍微困难一些的选择,但同样可以使用与Vim相同的方法。也就是将多个副本放在USB存储器上,以适应不同的目标机器。

最后,我必须赞同其他人提出的建议,即最好的便携式IDE是笔记本电脑。例如,你可以在Mac上安装几个非常好的IDE,并轻松地将文件传输到目标机器。由于它是Unix系统,因此很容易安装你选择的GCC或LLVM甚至交叉编译器。使用USB存储器的一个大问题是你永远无法确定是否拥有所需的一切。


1

Xemacs。如果你想要一个可以放在闪存驱动器上并带有大量其他工具的东西。它不是完整功能,但肯定比vim更适合编写软件。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接