簡體   English   中英

為C / C ++設置Windows構建環境的最佳方法

[英]Best way to setup a Windows build environment for C/C++

基本上我想在Windows上使用GCC編譯C / C ++。 正如我所看到的,兩個競爭平台是MinGW和Cygwin。 每個都有自己的好處和限制。 MinGW為Windows編譯,而Cygwin需要cygwin .dll。 但是在MinGW上安裝庫很困難,而在cygwin上使用setup.exe作為“包管理器”則更容易。

我的問題是在Windows上編譯的最佳方法是什么。 使用MinGW並與圖書館斗爭會更好(在這種情況下,有一種簡單的方法可以在MinGW上安裝庫)。 或者我應該使用Cygwin,如果是這樣我如何在不需要cygwin .dll的情況下編譯它,有效地編譯正常的Windows。

在Windows上編譯的最簡單和最好的方法是使用visual studio expres 這是免費的。 使用cygwin的一個很好的理由是跨平台構建。 使用gcc的一個很好的理由是它支持微軟編譯器沒有的一些編譯器糖果。

但總而言之,VC ++ Express是開發Windows的方法。

總是可以選擇使用-mno-cygwin和Cygwin來編譯像MinGW這樣的Windows庫:

gcc -mno-cygwin file.c -o test

這不是一個簡單的選擇,主要取決於您將依賴其他庫的程度。 Cygwin確實添加了一個額外的層,它比MinGW更重,但“更好地”模擬Linux環境。

編輯:

Qt Creator允許你在Windows上使用MinGW進行編譯(在Linux上使用gcc,...),有一個IDE,它使調試比gdb更友好。 如果您需要庫,您仍然可以選擇使用Qt庫。 如果你真的想堅持使用gcc以便將來移植,那將是Visual Studio的一個很好的替代解決方案。

您可能希望查看CodeBlocks 它通常用於構建WxWidgets應用程序,但它很好地包裝了MinGW。

Qt Creator標配MinGW,可用於構建實際不使用Qt框架的項目。

實際上,有選項#3:如果您的Windows版本允許,您可以安裝Microsoft Services for Unix / Subsystem for Unix Applications ,然后從SUACommunity獲取gcc。 它也有一個包管理器。 在這3個選項中,這將為您提供最接近真正Unix系統的行為。

但是,生成的應用程序不是Win32應用程序; 它們是SUA應用程序,需要SUA才能運行。 如果你自己編寫代碼,如果你自己編寫代碼通常不是問題,但是如果你想編寫和發布一個合適的Windows應用程序,我建議遠離任何試圖模仿Unix的東西,所以MinGW就是這樣。

equation.com上有一個易於安裝的MinGW包裝GCC。 單擊“編程工具”,然后單擊“Fortran,C,C ++”,下載您喜歡的版本,安裝和使用。

一種可能的方法是使用CMake ,它可以從您的源構建Visual Studio項目,然后從Visual Studio編譯。 它也可以為其他IDE構建項目,因此您可以跨平台。

我認為答案取決於您是打算使用庫還是編譯針對POSIX或基於POSIX的目標的程序。 這就是Cygwin的目的,而MinGW更傾向於使用GCC編譯以Windows為目標的程序。

另一個選擇是TDM MinGW: http//www.tdragon.net/recentgcc/

它基本上是MinGW的非官方分支,最新的GCC編譯器可用於32位和64位Windows機器。 甚至一些MinGW開發人員自己也使用它。

公式Gcc甚至更好: http//www.equation.com/servlet/equation.cmd? fa = fortran

暫無
暫無

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

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