Ant*_*neB 5 c++ windows gcc compilation c++14
我正在尝试在 Windows 10 上编译一个使用 C++14 等功能的 C++ 项目std::make_unique<>。
我希望能够在命令行中轻松编译,使用 CMake 和 make,然后能够从任何命令行或只需单击它的可执行文件即可运行我的程序。
使用 Cygwin 进行编译,即使它确实有效(我使用了本教程),也不是一种选择,因为由于缺少 DLL,生成的可执行文件将无法在 Cygwin 环境之外使用。
我已经阅读了有关 MinGW-w64 的内容,但似乎适用于 Windows 的最新可用版本对应于GCC 4.8.3。
此处mingw-get-setup.exe可用的 MinGW 安装程序也是如此,它只允许我安装 4.8.1-4 版本。
所以我想要一个关于如何使用 CMake 编译 C++14 项目的过程,这将允许我在默认的 Windows 环境中启动可执行文件。
谢谢。
更新: Chris Drew评论说我可以使用最新的 Visual Studio 版本来使用 Visual C++ 编译器而不是 GCC 来构建我的项目。我在回答中详细介绍了工作流程,但我仍在寻找一种“GNU 风格”的编译方式。
“GNU 风格”:使用Tive 评论中提供的链接来安装工作的 GCC 5.1 环境并使用普通cmake . -G"Unix Makefiles" && make命令。
根据Chris Drew 评论,以下是我使用 CMake 进行编译以生成 Visual Studio 2015 解决方案并在命令行中编译此解决方案所做的操作。
请注意,这不是使用 GNU 工具链,因为我们不会使用 gcc / make,而是使用 Visual C++ 编译器。
创建并移动到构建子目录(建议这样做,因为它将生成很多文件,而不仅仅是标准的 Makefile):
mkdir build && cd build
Run Code Online (Sandbox Code Playgroud)
生成 Visual Studio 2015 解决方案:
cmake . -G"Visual Studio 14 2015"
Run Code Online (Sandbox Code Playgroud)
这将生成几个项目文件,包括YourProjectName.sln我们将使用以下命令来构建项目的文件:
msbuild YourProjectName.sln
Run Code Online (Sandbox Code Playgroud)
请注意,它msbuild不在我的 PATH 中,因此我必须提供可执行文件的完整路径,在我的例子中是C:\Program Files (x86)\MSBuild\14.0\Bin\MSBuild.exe.
Tive提供了一个捆绑安装程序的链接,它将自动在您的系统上安装 GCC 5.1,这样您就可以通过生成 Unix Makefile 并使用命令来使用普通的 GNU 工具链make。
请注意,您需要手动编辑 PATH,因为安装程序不会为您执行此操作。