我正在做一些C ++交叉开发 - 在Windows上做了一段时间,最近在Unix上开始。
我想我所追求的是简化Unix开发体验 - 我有一个本地开发的Windows工具箱,还有一个远程Solaris盒子,用于在unix环境下编译和测试代码。
我现在做什么 - 我在Windows(VC ++)上开发,编译和测试代码,一旦完成,我就使用Filezilla通过SSH将代码移动到Solaris框。我还使用Putty连接到Solaris框并执行shell命令。
因为我对unix开发还很陌生 - 我想我所做的是迄今为止不是最优的,我使用的工具/技术也不是最优的。
你能给我推荐一个更好的工具吗 - 如何更轻松地移动代码,可能会替代Putty(看起来已经过时了)。
感谢。
答案 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)
如果要在VisualStudio中编辑文件,可以使用例如Samba作为“透明文件系统”;)
顺便说一句,VirtualBox可能非常有用(我经常调试(打开)Solaris或Linux作为VBox机器。)
PS 您可能感兴趣的另一个环境是Magic C ++ www.magicunix.com/