關於windows vc下的makefile

來源:互聯網
上載者:User

從網上下了一個C++程式,能在windows和UNIX下啟動並執行。裡面有一個makefile和makefile.unix檔案。請問怎樣在VC環境下編譯,我是菜鳥,蟈蟈們盡量把步驟說詳細點,非常感謝?

你不能用VC編譯,在win上用gcc ,
,說起來比較麻煩,給你粘貼一段別人的教程吧:

(1)cygwin/gcc與MinGW from:http://dev.csdn.net/article/70/70015.shtm
cygwin/gcc和MinGW都是gcc在windows下的編譯環境,但是它們有什麼區別,在實際工
作中如何選擇這兩種編譯器。
cygwin/gcc完全可以和在linux下的gcc化做等號,這個可以從boost庫的劃分中可以看
出來端倪,cygwin下的gcc和linux下的gcc完全使用的是相同的Toolsets。
所以完全可以和linux一起同步更新gcc版本,而不用擔心問題,並且在cygwin/gcc做的
東西(不用win32的)可以無縫的用在linux下,沒有任何問題。是在windows下開發
linux程式的一個很好的選擇。但是在cygwin/gcc下編譯出來的程式,在windows執行必
須依賴cygwin1.dll,並且速度有些慢,如果不想依賴這個東西的化,必須在gcc的編譯
選項中加入-mno-cygwin。加入這個選項其實gcc編譯器就會自動的選擇在安裝
cygwin/gcc時安上的mingw,這個mingw就是gcc的一個交叉編譯。
對於mingw作為gcc在windows上的一個實現,由於不像cygwin的gcc在一個類比linux上
運行,同時相當一部分linux的工具不能夠使用,不過現在已經有Msys這個類比unix的
shell,可以解決很多的問題,不過沒有cygwin好用,而cygwin/gcc的no-cygwin選項又
依賴於mingw的支援,所以更新的更慢的,現在只是到3.3.3。在mingw下也是可以升級
gcc的,不過需要使用msys。升級方法和在cygwin和linux下差不多,就不再羅嗦了。不
過就我的升級經驗來看好像都不太順利。具體深入的測試,我也沒有時間做了。
也是可以讓cygwin的最新安裝的gcc支援no-cygwin,需要再做一遍交叉編譯,但是我不
會做,只好算了,呵呵,也許那一天我把這個搞定,再開一個貼吧。
根據以上的分析,如果在windows開發linux程式,cygwin是很好的選擇。如果你開發的
程式不介意有一個cygwin1.dll的話,也是可以選擇cygwin的。如果你是想開發windows
下的程式,還要必須用gcc的化,mingw是很好的一個選擇。但是在windows下有太多的
編譯器了,bc,vc,intel c.....。
順便說就題外的化,據說gcc4.0.0效能有很大的提升,如果我升級完gcc4後,再編譯一
把gcc4是不是以後的編譯效能會提高很多呢?有機會一定要測試一下了,呵呵。

一個技巧:如何知道目前的版本的gcc的安裝配置,用命令:gcc -v就可以了,呵呵。
(2)在cygwin下安裝gcc4.0 from:http://dev.csdn.net/article/69/69161.shtm
gcc4.0發布了,可惜cygwin現在最新的是gcc3.4.1。通過下載cygwin的安裝包來用
gcc4.0,看來還是需要等上一段時間,那我如何這讓我如何能夠忍受呢?我以前在
linux升級過gcc,那麼在cygwin能不能呢?

我按照以前在linux下升級gcc的順序在cygwin下來了一遍,結果是可以的,順序和在
linux下差不多。

1 首先在http://gcc.gnu.org 下載gcc4.0的包gcc-4.0.0.tar.gz。

2 使用winrar把gcc-4.0.0.tar.gz解壓在安裝目錄下(c:/temp/ gcc-4.0.0),比在
linux下容易多了,呵呵。

3 建立目標目錄(c:/temp/ build)。

  4 配置安裝參數,通過在cygwin運行安裝目錄下的configure來配置,由於我只是測
試所以太多的參數我也沒有選擇,只是設了一下安裝目錄。(
/cygdrive/c/temp/gcc-4.0.0/configure --prefix=/lib/gcc/i686-pc-cygwin/4.0.0 )

5 編譯,在cygwin中運行

    $ cd /cygdrive/c/temp/build

    $ /cygdrive/c/temp/gcc-4.0.0/make

  大概需要一個小時

6 安裝 ,需要系統管理員的許可權使用者

    在cygwin中運行

    $ cd /cygdrive/c/temp/build

    $ make install

安裝到這裡完成,基本上和linux下差不多,感覺好像還容易一些。

接著要作的事情:

    a 由於需要在windows的環境下使用gcc命令,在cygwin下用ln只是建立一個快捷
方式,沒有辦法只好把在 /lib/gcc/i686-pc-cygwin/4.0.0/bin的gcc,g++,gcj都拷
貝到/bin下了,覆蓋了以前的東西,這個方法不太好,不過也就這樣了,呵呵。

  b 把/lib/gcc/i686-pc-cygwin/4.0.0/lib所有檔案拷貝到/lib下

  c 用以前的c++程式來測試一下gcc4.0.0把

 

 

在VC裡如何用Makefile檔案編譯

運行cmd.exe   (or   command.com   in   win9x)->進到vc/bin目錄->運行vc-vars32.bat->進到makefile   所在的目錄->nmake   /f   makefile辦法都是這個樣子的,我就照著做,但是到bin目錄下後,怎麼也找不到vc-vars32.bat這個檔案,難道我的盜版vc6.0沒有這個檔案?本來想簡單些來著,在c:/program files這個目錄下直接ctrl+f搜尋了下vc-vars32.bat這個檔案,但是搜尋結果是一個也沒有找到。手動開啟C:/Program Files/Microsoft Visual Studio/VC98/Bin這個目錄,發現根本就不是什麼tmd該死的vc-vars32.bat檔案,而檔案名稱應該是VCVARS32.BAT這個,vc後面少了那個_符號,我說怎麼也找不到vc-vars32.bat。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.