Windows 下 C++ primer 5 代码编译 ( namke )
C++ primer 源码下载:https://www.informit.com/store/c-plus-plus-primer-9780321714114 选择 “Download the source code files for MS Visual Studio 2012”
下载的源码文件夹(局部):
Visual Studio 2012 README.pdf 提示的编译命令:
# Windows machines > nmake # compiles all the programs > nmake clean # removes all the object files and stackdumps > nmake clobber # removes executable, object and stackdump files
nmake 相当于l inux 中的make, 会调用源码目录的 makefile 进行编译工作。但是 命令提示符 ( cmd )窗口 不能直接执行 nmake , 需要配置一番,调用 Visual Studio 的编译工具。 详情见 从命令行使用 Microsoft C++ 工具集 ,电脑未安装 visual studio 的可以安装 专门的 组件,也可以 直接装 visual studio 。
编译环境配置:
法 一 :
源码根目录编写 compille64.bat ,内容:( vcvars64.bat 路径需要根据 实际情况更改)
@echo off call "F:\VisualStudio2022Enterprise\VC\Auxiliary\Build\vcvars64.bat" cmd
vcvars64.bat 用于原编译平台是 64位 目标平台也是 64位 ( 记录:vcvars64.bat 会调用 VsDevCmd.bat)。也可以选择与 vcvars64.bat 同路径的其他几个:
它们的区别是:
命令文件 | 主机和目标架构 |
---|---|
vcvars32.bat |
使用 32 位 x86 原生工具构建 32 位 x86 代码。 |
vcvars64.bat |
使用 64 位 x64-native 工具构建 64 位 x64 代码。 |
vcvarsx86_amd64.bat |
使用 32 位 x86-native 交叉工具构建 64 位 x64 代码。 |
vcvarsamd64_x86.bat |
使用 64 位 x64-native 交叉工具构建 32 位 x86 代码。 |
|
使用参数来指定主机和目标体系结构、Windows SDK 和平台选择。有关支持的选项列表,请使用/help 参数调用。 |
法 二:
编写 compile.bat 直接调用 VsDevCmd.bat :(VsDevCmd.bat 需根据实际情况更改)
@echo off call "F:\VisualStudio2022Enterprise\Common7\Tools\VsDevCmd.bat" cmd
开发人员命令提示符命令文件 VsDevCmd.bat
位于Common7\Tools
子目录中。未指定参数时,它将环境设置为使用 x86-native 工具构建 32 位 x86 代码。
执行编译:
双击 写好的 compile 64.bat 或者 compile.bat 文件 在 唤起的 cmd 窗口执行 nmake 命令。