cygwin和mingw編譯軟件的疑問

       對於cygwin和mingw的區別已有基本瞭解。先已有mingw+msys環境,mingw版gcc在mingw官網下載,版本4.5.2,安裝了一些的開發庫,但在mingw中編譯gnu程序,少有順利經過的,mingw版的gcc編譯出來是原生的win32程序。考慮到mingw對linux環境的模擬「不夠純」,從新下載安裝cygwin,現只有一個基本的運行環境。能夠肯定,cygwin中預裝的程序(/bin目錄下的大量工具)對cyg*.dll的動態庫有依賴,目前沒有安裝cygwin版的gcc。linux

個人疑問是:
1.直接把mingw版的gcc放到$PATH路徑中,這樣在cygwin的終端環境中編譯gnu軟件或者一些開發庫和在msys終端編譯是一致的效果嗎?好比,失敗的話,一樣的錯誤;成功的話,一樣不依賴於cyg*.dll動態庫?工具


2.經過setup另下一個cygwin版的gcc(其實在cygwin官網上同時看到有gcc和mingw-gcc就很疑惑了),在cygwin的終端環境中編譯軟件,若是遇到源代碼直接調用win32API而不是unix風格的系統調用,cygwin版的gcc可否編譯成功? 若能夠編譯成功,是否是程序運行依賴於上述的dll?unix


3.同時保留有兩個版本的gcc(mingw的和cygwin的),我的想在編譯經常使用工具或開發庫(如gnu的工具)時使用cygwin版的,這樣在本地運行,即使依賴cyg*.dll動態庫也能夠接受,而基於這些工具和開發庫開發新的程序,可否經過指定gcc編譯器和在編譯時添加額外選項,甚至從源碼從新編譯新的gcc軟件,來使新的程序沒必要依賴cyg*.dll動態庫?

第3點是本人最關心的,但願有高人來解答,謝謝!
開發

相關文章
相關標籤/搜索