我对环境感到困惑。在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 –