2010-10-24 103 views
2

GUI應用程序爲Win/Linux的/ Mac上的C/C++:純GUI應用程序爲Win/Linux的/ Mac上用C++與G ++

我想知道如何寫一個」,「 native,「」API級別適用於Windows,Linux和Mac的C++應用程序。

我不希望「單一代碼在任何地方運行」,而是每個操作系統的本機代碼。


解決方案對於Windows:

只需使用Mingw/Win32 API;它非常簡單明瞭。這樣我喜歡在Windows下編程。


解決方案對於Linux:

如果我使用,例如,wxWidgets-dev/GNU G++,我的應用程序不能在PC/Linux上運行,如果用戶沒有安裝wxWidgets?如果不是,我如何在程序中包含wxWidgets庫?


解決方案適用於Mac:

Objective-C++/GNU G++解決?或者是Carbon/C++/GNU G++的解決方案?

+0

Windows = easy,mac = difficult,linux =? – 2010-10-24 20:44:33

+0

否否否lool,Windows =非常簡單,Linux = easy,Mac =? – Freeseif 2010-10-25 00:16:27

+0

如果您發現Linux開發很容易,您會發現Mac開發很容易。 XCode其實很不錯,即使其他所有的都失敗了,只要打開一個終端並運行'make'或'cmake'或類似於Linux的東西。 – 2010-10-25 20:06:23

回答

4

Mac

在Mac的情況下,您只需要啓動XCode並使用Objective-C。 Objective-C++主要用於讓您從Objective-C訪問現有的C++庫。

不要使用碳,它已被棄用。它只是爲了使從Mac OS 9移植更容易。

Linux

這一個是艱難的,因爲真的沒有什麼保證。您可以確信X Windows將會在那裏,但是可能有或者沒有可用的各種庫(Gnome,KDE,WxWidgets,FLTK,Motif等)。在過去,你可能會期望Athena widgets可用,因爲它們隨X Windows一起發佈,但它們看起來很蹩腳(介於Mac OS 3和Palm OS 1之間),幾乎沒有人想再使用它們了。 。

所以你幾乎必須選擇一個庫/工具包並使用它,並期望你的用戶來安裝它。現在大多數發行版很容易安裝依賴項,所以它不像在Windows上安裝wxWidgets那樣煩人。

+1

的確,Linux上沒有真正的「標準」庫,但Qt和GTK +是非常安全的投注,所有主要發行版都有它們的默認值桌面安裝。其他人也不應該成爲問題,因爲所有發行版都可以輕鬆安裝。 – sleske 2010-10-24 20:40:02

+0

Mac:Objective-C/Cocoa。 Linux:GTK +/C/C++。 – Freeseif 2010-10-25 00:17:45

+0

謝謝Mike DeSimone和Sleske和Alexander Rafferty =) – Freeseif 2010-10-25 00:18:27