用于Unix的工具< - > Windows C ++开发

时间:2009-12-12 13:35:13

标签: c++ windows unix cross-platform solaris

我正在做一些C ++交叉开发 - 在Windows上做了一段时间,最近在Unix上开始。

我想我所追求的是简化Unix开发体验 - 我有一个本地开发的Windows工具箱,还有一个远程Solaris盒子,用于在unix环境下编译和测试代码。

我现在做什么 - 我在Windows(VC ++)上开发,编译和测试代码,一旦完成,我就使用Filezilla通过SSH将代码移动到Solaris框。我还使用Putty连接到Solaris框并执行shell命令。

因为我对unix开发还很陌生 - 我想我所做的是迄今为止不是最优的,我使用的工具/技术也不是最优的。

你能给我推荐一个更好的工具吗 - 如何更轻松地移动代码,可能会替代Putty(看起来已经过时了)。

感谢。

7 个答案:

答案 0 :(得分:4)

如果您想在Windows和Solaris上运行相同的C ++ IDE,我建议您查看Code::Blocks。另外,正如我向Charles建议的那样,在Windows机器上运行X服务器比运行Putty或类似机器更具灵活性。

答案 1 :(得分:3)

您是否有任何理由无法使用虚拟机在Solaris上测试软件?他们可以共享文件夹,因此无需将代码上传到远程计算机。

第二:使用svn或git或mercurial。在一台机器中,您可以检查您的代码,在其他结账时以及您有更改历史记录。无需通过SSH使用Filezilla。

编辑: 另外,我认为使用cmake(或scons - 但我没有使用它)生成构建文件会很好。例如--cmake为您的IDE生成Makefile或项目文件,因此您不需要维护在不同平台上构建代码的几个不同文件。

答案 2 :(得分:1)

您可能希望查看Samba,因此您可以直接使用Windows文件资源管理器将文件移入和移出Windows / Unix环境,而不是使用FTP。

但是对于通过Windows进行UNIX shell访问,你真的无法击败Putty。

答案 3 :(得分:1)

我建议mercurial

答案 4 :(得分:1)

只需使用版本控制系统,如Subversion或Mercurial。我强烈推荐后者,因为它是分布式的,所以你不需要每个人都有一个服务器,你可以离线工作。每当你想将你的Windows代码推送到unix机器时,你只需要'hg push'然后关闭你。为了理解构建你可以用旧的Make或者只使用SCons(再次我更喜欢后者,因为它带有Python的强大功能)。

实际上,我最近使用wxWidgets和GraphicsMagick在C ++中开发了一个跨平台项目。我在Mac OS X中编写了所有内容,然后在Windows和Linux中编译。有一件事我想指出的是,GCC似乎比编译警告和错误更加迂腐,所以如果你变得喜欢Unix环境,我建议在那里开发然后在Windows中编译(甚至可能使用VMWare映像)。

答案 5 :(得分:0)

不要手动移动源代码,而应考虑使用版本控制系统。不一定是分布式VCS,例如git或mercurial,但你应该使用版本控制。

迟早,您需要在Unix机器上使用调试器,如果您更喜欢使用图形调试器,则应在Windows机器上安装本地X服务器。

答案 6 :(得分:0)

  • 恕我直言 vim是一个非常好的编辑器;)
  • gcc,nm,ld用于编译/构建/诊断
  • makefile for builds
  • gdb作为调试器,如果你更喜欢GUI检查ddd(如果你想坚持 使用Visual Studio进行调试 检查www.vsbridge.comwww.wingdb.com - 他们俩 取决于gdb作为后端)
  • Unix的其他商业调试器 是TotalView (http://www.roguewave.com/products/totalview.aspx价格是 很高,虽然他们有自己的 引擎而不是gdb)
  • CVS,SVN作为源代码控制

如果要在VisualStudio中编辑文件,可以使用例如Samba作为“透明文件系统”;)

顺便说一句,VirtualBox可能非常有用(我经常调试(打开)Solaris或Linux作为VBox机器。)

PS 您可能感兴趣的另一个环境是Magic C ++ www.magicunix.com/