一直习惯使用VS建立工程 但最近写了一些很小的程序 编辑使用的是 Notepad++ 打开编译器觉得很麻烦 想到在 Linux 下可以直接使用 gcc 命令来编译程序 所以想要试一试在 Windows 系统下可否实现控制台编译 C 程序
问题很简单 流程就是编写源代码 .cpp——编译生成目标文件 .obj——链接生成可执行文件 .exe
首先来说下使用的命令 是cl(是英文字母 l 而不是阿拉伯数字的 1 ) 如源代码为 source.cpp 需要在命令行下进入当前文件所在路径 然后敲 cl source.cpp 即可 会自动进行编译链接 结果是在同目录下生成一个 source.exe 文件
Win + R 打开控制台 如图 没有经过环境配置敲 cl 命令系统会提示出错:
要做的事只有一件 就是对环境变量进行配置 动手配置过Java的朋友应该很熟悉这个过程 不过我的VC不完整 遇到了不少麻烦 所以写了这样一个博客出来 希望能给有和我一样困惑的人带来一点帮助
我们需要的路径有两个 头文件包含的目录和 lib 文件存放的目录
头文件是放在编译器的文件夹下的 自己有安装编译器的话 进入软件所在目录 找到 bin 文件夹 没有安装编译器的可以使用微软自带的VS环境 这个在你的系统盘 Program Files\Microsoft Visual Studio 12.0 目录下(12.0是我的版本 根据电脑的不同可能不同)
lib 文件是配置文件 它存放在系统盘*86目录下的SDKs目录 进入子文件夹Windows后会发现其中有很多个文件夹 而我们需要的是仅仅包含Bin Include Lib这些文件夹的那一个(我的是放在7.1A中的) 比如你可能会遇到的错误:
C++编译报错 LINK:fatal error LNK 1104:无法打开文件 *.lib 这可能是你没有引入正确的 lib 路径造成的 如图 大部分的都可以在相应的 lib 目录下找到:
比如我用的是VS 2013 安装在电脑G盘中 那么我的路径就是
G:\APP\VS
C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A
右击我的电脑(文件资源管理器)——属性——高级系统设置——环境变量 在系统变量一栏(不是用户变量)中找到LIB INCLUDE Path 三个变量 如果没有则自己新建
下面是需要在其中添加的路径:
(LIB)C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Lib; G:\APP\VS\VC\lib;
(INCLUDE)G:\APP\VS\VC\include;
(Path)G:\APP\VS\VC\bin;G:\APP\VS\VC\include;G:\APP\VS\VC\lib;
配置完成后的效果如图所示 实例程序是放在 G:Test 这个文件夹下的 1.cpp 文件 使用 cl 命令生成目标文件:
上图是系统为我们自动生成 .obj 和 .exe 文件 根据提示 我们直接键入程序名称 1.exe 来执行程序即可