簡體   English   中英

是否可以在Windows和Mac OS上都可以用C ++開發桌面應用程序?

[英]Can a desktop app be developed in C++ that would work on both Windows and Mac OS?

我試圖節省一些錢,並開發一種在Windows和Mac OS上均可使用的桌面應用程序。 這可能嗎? 我們可以用C ++做到嗎,然后經過一些修復和調整,仍然可以在兩個OS上重用同一應用程序?

是的,這是可能的。 某些代碼可能會有所不同,因為操作系統有所不同。

  • 您應該為GUI使用通用庫,例如​​Qt: http//qt.nokia.com/
    值得注意的是,Qt為表帶來了更多的跨平台功能,因此請熟悉一下它。
  • 會有一些差異需要處理,例如
    • 文件路徑(C:在Mac上不存在,\\和/是路徑分隔符,等等)
    • 文件結尾不同(在Windows中為CrLf,在Mac中為Lf)
  • 您需要編譯為兩個不同的目標CPU。 大多數C ++編譯器都可以做到這一點。
  • 兩種代碼都可以使用相同的代碼,您只需根據編譯器所針對的OS定義要包含(或不包含)區域。

只是Google作為跨操作系統的開發指南,許多人以前就已經做到了。 :)

可能不相關,但仍然值得注意(因為您說了“省錢”),Java和Mono Project (.Net,Qt)都允許您編寫跨平台應用程序,但對底層平台的技能有限。 它們是高級語言,通常被認為是節省時間的語言(但這是一個單獨的討論。)

擴展我的評論:

別這樣

用可移植的C ++編寫您的庫代碼; 將盡可能多的功能放到庫中,確保在學習過程中研究特定於平台的API(可能是Cocoa和.NET),因此庫的接口至少適度適合這兩種接口。

然后用本地二進制文件包裝您的庫; 確保您注意應用程序在每個平台上的外觀以及它們的感覺。

構建一個看起來像X11應用程序並以Gnome應用程序,KDE應用程序,OS X應用程序和Windows應用程序之間的某種方式進行所有操作的應用程序, 確實會損害用戶體驗。

嚴重的

WxWidgets

這個問題被問了很多 ,另請參閱: 這個問題這個 問題以及這個 問題

遲到這里來參加聚會!

我正處於完成跨平台的商業應用程序的最后階段(目前僅適用於OS / X和Windows,可以考慮稍后使用Linux或iOS)。

我們正在使用一個名為Juce的開源,跨平台C ++開發庫,我對此評價不夠。 它功能非常強大,代碼堅固且高質量,您顯然可以從同一代碼庫為Windows,OS / X,Linux,iOS和Android進行構建(我們僅嘗試了前兩個,但其他開發人員顯然報告了其他平台的成功)。

特別令人高興的是,首席開發人員在公告板上非常活躍,並且對故障報告反應非常快。

另外,您可以根據GPL許可該庫,而且它們還具有價格非常合理的商業許可。

Juce在從事數字音頻應用程序的人們中非常受歡迎-實際上,據我所知,許多頂級商業數字音頻應用程序可能都使用了該系統-但它功能齊全且速度極快,因此應被認為是任何應用程序的最佳選擇跨平台開發應用程序。

暫無
暫無

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

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