我對環境感到困惑。在Windows下使用MSYS2,我想自己編譯,比方說,Boost庫:MSYS2:是一個Windows或UNIX環境?
http://www.boost.org/users/history/version_1_64_0.html
我有什麼要下載的文件?一個是Windows還是一個是unix?
我對環境感到困惑。在Windows下使用MSYS2,我想自己編譯,比方說,Boost庫:MSYS2:是一個Windows或UNIX環境?
http://www.boost.org/users/history/version_1_64_0.html
我有什麼要下載的文件?一個是Windows還是一個是unix?
MSYS2不是Unix環境。它是由這些主要組件組成的混合環境:
ls
這些依賴於msys-2.0.dll運行時的工具。pacman
,另一個msys-2.0.dll程序,它允許您從MSYS2開發人員安裝預編譯的軟件包。/mingw32
(適用於32位)和/mingw64
(適用於64位)目錄下。無論如何,似乎你剛剛開始使用MSYS2並且不太瞭解它。如果您的目標是編寫可能會在MSYS2之外使用的本地Windows軟件,那麼您應該安裝由MSYS2開發人員提供的本地Windows版Boost。因此,運行下面的命令之一:
pacman -S mingw-w64-i686-boost
或
pacman -S mingw-w64-x86_64-boost
然後確保你正在使用MSYS2殼的對味,並確保你安裝相應的GCC工具鏈。對於32位開發,您必須使用「MinGW-w64 32位Shell」快捷方式啓動MSYS2,並使用pacman來安裝mingw-w64-i686-toolchain
(pacman -S mingw-w64-i686-toolchain
)。
如果您嘗試從boost網站下載二進制文件提示,您可能會遇到各種兼容性問題。最好使用使用MSYS2 GCC工具鏈構建的軟件,特別是如果MSYS2已經有該軟件的軟件包。
感謝您的明確解釋!實際上,我有一個C++ Makefile項目,它使用'i686-w64-mingw32'編譯。我需要爲它添加一個'SignalR'客戶端。構建它的依賴關係,我必須編譯'cpprestsdk',但是'boost'有一些問題(請參閱http://stackoverflow.com/q/43517521/881712)。因此我也試圖從源碼編譯它。 – Mark
MSYS2開發人員使用以下腳本編譯源代碼:https://github.com/Alexpux/MINGW-packages/tree/master/mingw-w64-boost –