c++ - 如何在 Windows 上制作、制作和编译 C++14

标签 c++ windows gcc compilation c++14

我正在尝试在 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 风格”: 使用 Tive's comment 中提供的链接安装工作的 GCC 5.1 环境并使用正常的 cmake . -G"Unix Makefiles" && make命令。

参见 this answer有关这两种解决方案的更多详细信息。


最佳答案

使用 Visual Studio 编译器

正在关注 Chris Drew comment ,这是我为了使用 CMake 进行编译以生成 Visual Studio 2015 解决方案并在命令行中编译该解决方案所做的工作。

请注意,这不是使用 GNU 工具链,因为我们不会使用 gcc/make,而是使用 Visual C++ 编译器。

创建并移动到构建子目录(推荐这样做,因为它会生成很多文件,而不仅仅是一个标准的 Makefile):

mkdir build && cd build

生成 Visual Studio 2015 解决方案:

cmake . -G"Visual Studio 14 2015"

这将生成几个项目文件,包括我们将使用以下命令构建项目的 YourProjectName.sln:

msbuild YourProjectName.sln

请注意,msbuild 不在我的 PATH 中,因此我必须提供可执行文件的完整路径,在我的例子中,C:\Program Files (x86)\MSBuild\14.0\Bin\MSBuild.exe.


使用更新的 MinGW 安装程序

Tive提供了 link to a bundled installer它将自动在您的系统上安装 GCC 5.1,这样您就可以通过生成 Unix Makefile 并使用 make 命令来使用普通的 GNU 工具链。

请注意,您需要手动编辑您的 PATH,因为安装程序不会为您做这件事。

关于c++ - 如何在 Windows 上制作、制作和编译 C++14,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32121248/

相关文章:

C++ Visual Studio 错误 : Identifier cannot be implicitly captured because no default capture mode has been specified

python - 如何使用opencv在视频中仅检测左眼?

C# 以编程方式禁用任务栏功能

windows - Python 3.6,用于 64 位 Windows 上 11g 客户端的 cx_oracle

c++ - C++代码中的汇编代码

c++ - 两个线程阻塞 I/O

c++ - 转换 c_str() 仅适用于短字符串

c - gcc 删除内联汇编代码

c - 前后增量运算符关联性问题 :(

c++ - 我需要从 GetNamedSecurityInfo API 中释放哪些返回参数?