簡體   English   中英

Unix <-> Windows C ++開發工具

[英]Tools for Unix <-> Windows C++ development

我正在做一些C ++交叉開發-在Windows上做了一段時間,最近在Unix上開始了。

我想我想做的是簡化Unix開發經驗-我有一個本地Windows框用於開發,還有一個遠程Solaris框,可以用來在unix環境下編譯和測試代碼。

我現在要做的是-在Windows(VC ++)上開發,編譯和測試代碼,完成后,我通過SSH使用Filezilla將代碼移動到Solaris盒中。 我還使用Putty連接到Solaris box並執行shell命令。

由於我對UNIX開發還很陌生-我想我做的到目前為止還不是最優的,我使用的工具/技術也不是最優的。

您能向我推薦一個更好的工具-如何更輕松地移動代碼,並可能替代Putty(無論如何看起來都已經過時了)。

謝謝。

如果有任何機會要在Windows和Solaris上運行相同的C ++ IDE,建議您看一下Code :: Blocks 而且,正如我向查爾斯建議的那樣,在Windows機器上運行X服務器比運行Putty或類似工具給您更大的靈活性。

有什么原因不能在使用虛擬機的Solaris上測試軟件? 他們可以共享文件夾,因此無需將代碼上傳到遠程計算機。

第二:使用svn或git或mercurial。 在一台機器上,您簽入代碼,在另一台機器上,簽出,並且您有更改歷史記錄。 無需通過SSH使用Filezilla。

編輯:另外,我認為使用cmake(或scons-但我不使用它)來生成構建文件會很好。 例如-cmake為您的IDE生成Makefile或項目文件,因此您無需維護幾個在不同平台上構建代碼的文件。

您可能需要研究Samba ,因此可以直接與Windows文件瀏覽器一起在Windows / Unix環境中來回移動文件,而不是使用FTP。

但是,對於通過Windows進行UNIX Shell訪問而言,您確實無法擊敗Putty。

我推薦水銀

只需使用版本控制系統,例如Subversion或Mercurial。 我強烈建議您使用后者,因為它是分布式的,因此您不必每個人都擁有服務器,並且可以脫機工作。 每次您要將Windows代碼推送到Unix機器時,只需執行“ hg push”操作即可。 要對構建進行分類,您可以使用舊的Make或只使用SCons(同樣,我更喜歡后者,因為它具有Python的功能)。

實際上,我最近使用wxWidgets和GraphicsMagick開發了一個C ++跨平台項目。 我用Mac OS X編寫了所有內容,然后在Windows和Linux中進行了編譯。 我想指出的一件事是,與Microsoft的編譯器相比,GCC在編譯警告和錯誤方面似乎更為精妙,因此,如果您逐漸喜歡Unix環境,我建議在此進行開發然后在Windows中進行編譯(甚至使用VMWare映像)。

與其手動移動源代碼,不如考慮使用版本控制系統。 不一定是諸如git或mercurial之類的分布式VCS,但是您仍應使用版本控制。

遲早,您將需要在Unix計算機上使用調試器,並且如果您更喜歡使用圖形調試器,則應在Windows計算機上安裝本地X服務器。

  • 恕我直言 vim是相當不錯的編輯器;)
  • gcc,nm,ld用於編譯/構建/診斷
  • 生成的makefile
  • 將gdb用作調試器,如果您更喜歡GUI檢查ddd(如果您希望使用Visual Studio進行調試,請檢查www.vsbridge.comwww.wingdb.com-它們都依賴於gdb作為后端)
  • 其他用於Unixes的商業調試器是TotalView( http://www.roguewave.com/products/totalview.aspx價格很高,盡管它們有自己的引擎而不是gdb)
  • CVS,SVN作為源代碼控制

如果要在VisualStudio中編輯文件,則可以使用Samba作為“透明文件系統”;)

順便說一句,VirtualBox可能非常有用(我經常調試(打開)Solaris或Linux作為VBox的機器)。

ps您可能會對另一種環境感興趣的是Magic C ++ www.magicunix.com/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM