msys msys2 cygwin mingw的區別----推薦一個excel的.xlsx文件讀寫的c/c++開源庫

最近接手一點代碼,前人留下一堆屎一樣的東西。。。配置表的讀取居然是每個都自己寫。。。默默地打開聊天框,輸入了四個字符並敲下回車:

-wtf

進入正題。發現一個讀寫EXCEL(.xlsx)文件的c/c++庫(之前一直在找,python有,c#有,就是沒有c/c++的讀寫一起的,有的都是要花錢),xlsxio。官網: https://github.com/brechtsanders/xlsxio

官網提供了源碼版本(source code)以及已編譯版本(binary)編譯版本要在windows下使用的話,要用visualstudio裏的lib工具導出dll文件的lib庫,然後用程序鏈接進去。

嘗試了一下使用cygwin編譯,也可以work,嘗試了下生成的庫讓visual studio用,不行。而且最麻煩的是cygwin編譯出的東西運行時需要好多的cygwin的dll文件,太麻煩。

後來仔細看官網的介紹裏說,他提供的binary版本都是用的mingw編譯的。所以搜了一下mingw以及mingw-w64的資料。最後才找到msys以及msys2。這裏簡單理一下它們的區別:

mingw只是一個編譯器(只提供g++/gcc),沒有make沒有cmake之類

cygwin:非常龐大的linux平臺移動到windows裏的平臺,裏面基本上應有盡有。

msys:在cygwin的早期版本上做的分支,精簡但後期缺乏更新。

msys2:因msys缺少更新,有人出來重新拉了個cygwin的分支,仍然精簡,但是比msys強大多了。

如果你編譯的程序最終想跑在linux平臺並想在win下編寫對系統API的依賴度比較深,建議使用cygwin,

如果你編譯的程序最終想跑在WINDOWS平臺,建議你使用msys2(msys2裏面可以安裝mingw)。

msys2配置:

在/etc/pacman.d/mirrorlist.mingw32中前面增加Server = http://mirrors.ustc.edu.cn/msys2/mingw/i686/

在/etc/pacman.d/mirrorlist.mingw64中前面增加Server = http://mirrors.ustc.edu.cn/msys2/mingw/x86_64/

在/etc/pacman.d/mirrorlist.msys中前面增加Server = http://mirrors.ustc.edu.cn/msys2/msys/$arch/
命令簡記:

pacman -Syu

pacman -Su

pacman -S gcc

pacman -S make

如果只是想編譯代碼的話建議先裝msys2再把mingw-w64裝到msys2裏的mingw64中再配下源,然後只運行

pacman -Sy            (只更新源,不下載安裝)

pacman -S make

pacman -S cmake

並且安裝mingw-w64的時候直接先裝完MSYS2後把MINGW安裝到D:\msys64\mingw64,注意文件夾不要錯位,不要安裝到D:\msys64\mingw64\mingw64裏了,msys2童鞋會找不到gcc g++的。這樣做的好處是mingw編譯出來的東東發佈時不需要依賴D:\msys64\usr\bin\msys-2.0.dll文件

參考:

https://blog.csdn.net/qiuyuan_1/article/details/78748557

https://blog.csdn.net/duquanwen/article/details/70339637

https://blog.csdn.net/hunterhuang2013/article/details/70880569

https://blog.csdn.net/yehuohan/article/details/52090282

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章