標籤:

關於MSYS2的一點經驗

0. MSYS2系統運行於windows上。1. MSYS2本身支持一個gcc,這個gcc編譯unix代碼,編譯出來的可執行文件是windows的PE,帶msys2xxx.dll可以在windows下運行。2. MSYS2設計目標是用於在windows上運行mingw的gcc工具鏈的。3. MSYS2的mingw有2套,一個是mingw32,一個是mingw644. mingw32和mingw64都可以生成win32和win64的「純凈」(不用msys2xxx.dll支持)的PE。5. MSYS2的那個原始的gcc可以編譯unix代碼,但支持的函數僅限於POSIX部分,其他系統調用都不支持,如linux的epoll,eventfd等等,所以功能有限,不建議基於這個平台開發商業軟體。6. MSYS2的官方提供了已經用mingw編譯的一些開發庫,如glibc、libgtk+等,為GTK+程序向windows移植提供了極大的便利。7. MSYS2上面不支持的包,可以在mingw體系下,用源代碼configurate,然後make install。(我已經成功應用了安裝了源碼包SDL2、FFmpeg等)總結: 1. MSYS2的原生gcc是編譯unix代碼的,生成exe,運行時依賴msys2xxx.dll2. MYSY2上的mingw32和mingw64的功能是一樣的,都是用於編譯windows代碼(能調用windows API,不能調用unix系統調用)的,生成exe,運行時只依賴windows系統的dll。3. 至於(2),跟linux上的mingw是一樣的。(我以前在一直在linux用mingw交叉編譯windows程序。)4. 開發專業應用軟體,不要使用MSYS2的原生gcc平台,這個平台是為了給mingw提供工具鏈的,是製造工具的工具。
推薦閱讀:

【文摘】關於施特勞斯的兩個神話
詩詞園地——100首關於春的詩詞
關於父愛母愛的名言
關於武術又一個驚喜發現    轉自
關於暗戀的悲傷句子

TAG:經驗 | MSYS | 關於 |