【发布时间】:2015-08-20 14:40:37
【问题描述】:
我正在尝试在 Windows 10 上编译一个使用 C++14 功能(例如 std::make_unique<> 等)的 C++ 项目。
我希望能够在命令行中轻松编译,使用 CMake 和 make,然后能够从任何命令行运行我的程序,或者只需单击它的可执行文件。
使用 Cygwin 编译,即使它确实可以工作(我使用了这个 tutorial),也不是一种选择,因为由于缺少 DLL,生成的可执行文件将无法在 Cygwin 环境之外使用。
我已阅读有关 MinGW-w64 的信息,但似乎适用于 Windows 的最新可用版本对应于 GCC 4.8.3。
MinGW 安装程序 mingw-get-setup.exe 可用 here 也是如此,它只允许我安装 4.8.1-4 版本。
所以我想要一个关于如何使用 CMake 编译 C++14 项目的过程,这将允许我在默认的 Windows 环境中启动可执行文件。
谢谢。
更新:Chris Drew 评论说我可以使用最新的 Visual Studio 版本来构建我的项目,使用 Visual C++ 编译器而不是 GCC。我在回答中详细说明了工作流程,但我仍在寻找一种“GNU 风格”的方式来编译它。
“GNU-style”: 使用Tive's comment 中提供的链接安装工作的GCC 5.1 环境并使用普通的cmake . -G"Unix Makefiles" && make 命令。
有关这两种解决方案的更多详细信息,请参阅this answer。
【问题讨论】:
-
您必须使用 GNU 工具链还是可以选择 Visual Studio?
-
我必须能够使用 CMake,因为该项目也将使用 CMake 在 Unix 环境中编译,但除此之外没关系。
-
我会使用现有的 mingw 从源代码构建 gcc 5.x。我最近这样做是为了构建交叉编译器,虽然 gcc 有一些需要首先构建的依赖库,但这并不是一个特别困难的过程。
-
最新版本的 CMake 支持 Visual Studio 2015。
-
如果你想安装最新版本的 MinGW 64,我会使用(STL 网站)[nuwen.net/mingw.html].祝你好运!
标签: c++ windows gcc compilation c++14