转载http://www.cnblogs.com/mizhongqin/archive/2013/03/11/cmd_cl-exe_vs2010.html

与在IDE中编译相比,命令行模式编译速度更快,并可以避免被IDE产生的一些附加信息所干扰,下面介绍在Win7 命令行下编译C++。

1、 首先要正确安装Visual Studio 2010,安装路径(D:\Program Files)

2、设置环境变量:

PATH=D:\Program Files\Microsoft Visual Studio 10.0\VC\bin

INCLUDE=D:\Program Files\Microsoft Visual Studio 10.0\VC\include

LIB=D:\Program Files\Microsoft Visual Studio 10.0\VC\lib

2、写一个hello world C++程序

/*the first C++ program*/
#include <iostream>
using namespace std;
//main function
int main()
{
cout<<"Hello world!"<<endl;
cout<<"This is my first C++ program.\n";
}

保存路径 C:\Users\zhongqin.mi\hello.cc

3、重启电脑,打开命令行,执行如下命令

其中,cl是调用编译器的命令,-GX是一个选项,该选项在使用命令行界面编译程序时是必须的。微软编译器自动产生与源文件同名的可执行文件,

这个可执行文件具有.exe后缀且与源文件同名,更多信息可以参考编译器用户指南。

注意:(2015年5月27日15:45:59添加)

在第二步中环境变量的配置中,其实可以不用配置,只是在每次使用cl.exe之前,运行一遍vcvarsall.bat(在“vs安装路径\VC”路径下)即可,运行vcvarsall.bat后,就可以使用cl.exe,link.exe和Nmake.exe,只是每次使用前都要运行一遍vcvarsall.bat,并且只能在运行vcvarsall.bat的cmd窗口才能使用以上三个exe。

4、常见问题

4.1 如果提示找不到mspdb100.dll文件,则从D:\Program Files\Microsoft Visual Studio 
10.0\Common7\IDE下拷贝“mspdb80.dll”这四个文件到D:\Program 
Files\Microsoft Visual Studio 10.0\VC\bin下即可。

4.2 如果执行 cl命令时遇到提示  LINK : fatal error LNK1104: 无法打开文件“kernel32.lib”, 则把C:\Program Files\Microsoft SDKs\Windows\v7.0A\Lib目录下的kernel32.lib拷贝到D:\Program 
Files\Microsoft Visual Studio 10.0\VC\lib目录下即可。

--------------------------------------------------------------------------分割线------------------------------------------------------------------------

2015年5月27日16:51:38

如果有多个文件要一起编译连接呢,自己动手做了如下简单的入门体验。

首先创建如下源文件heade.h,header.cpp,main.cpp

//header.h

#ifndef _HEADER_H
#define _HEADER_H class A
{
public:
A();
A(int);
void print();
private:
int member;
}; #endif

//header.cpp

#include "header.h"
#include <iostream>
using namespace std; A::A()
{
member = ;
}
A::A(int init)
{
member = init;
} void A::print()
{
cout << member <<endl;
}

//main.cpp

#include <iostream>
#include "header.h"
using namespace std; int main()
{
cout << "Hello world!\n";
A a();
a.print();
return ;
}

然后按照上面介绍的方法,在cmd中输入:cl main.cpp header.cpp

通过命令行使用cl.exe编译器的更多相关文章

  1. Notepad++中调用cl.exe编译器(Windows)

    Notepad++中调用cl.exe编译器(Windows) 近来在notepad++中写代码,写完后总是习惯性的想去VS里面编译一下,看看代码是否有误.但有时候一些零碎的小文件总是懒得再VS中打开, ...

  2. 命令行工具aspnet_regiis.exe实现加密和解密web.config

    命令行工具aspnet_regiis.exe,是一个类似于DOS的命令工具,称之为命令解释器.使用命令行工具加密和解密web.config文件中的数据库连接字符串时,只需要简单的语法命令即可. 加密语 ...

  3. 命令行工具osql.exe使用

    目标: 快速在21个库修改Test表的某条记录,这几个库都分别在不同的服务器上. 通常会想到,到每个库都执行一下语句不就好了吗?这个数据库切换来切换去,挺麻烦了,通过命令行工具osql.exe就可以快 ...

  4. PHP命令行执行程序php.exe使用及常用参数

    PHP命令行执行程序php.exe参数说明 -f <file>:以命令行方式运行指定的PHP文件,只要指定具体的PHP文件(带绝对路径),php.exe就可以执行PHP文件,所以这个参数单 ...

  5. MongoDB远程连接-命令行客户端mongo.exe

    命令行客户端mongo.exe 位于安装目录bin子目录下.MongoDB的所有可执行程序都在其中. 双击打开mongo.exe应该是默认连接本地数据库服务,因此需要用Cmd或Powershell的方 ...

  6. microsoft cl.exe 编译器

    cl.exe是visual stdio 内置的编译器,visual stdio包含各种功能,有些功能可能这辈子都用不到,体积庞大,如果是 开发比较大或者有图形的项目,vs是首选.更多情况时更喜欢使用文 ...

  7. 让 windows 下的命令行程序 cmd.exe 用起来更顺手

    在 Windows 下使用 Larave 框架做开发,从 Composer 到 artisan 总是避免不了和 cmd.exe 打交道,系统默认的命令行界面却是不怎么好看,且每行显示的字符数是做了限制 ...

  8. WinRAR命令行版本 rar.exe使用详解

    RAR 命令行语法~~~~~~~~~~~~~~ 语法 RAR.exe <命令>  [ -<开关> ]  <压缩文件>  [ <@列表文件...> ]   ...

  9. 80端口未被占用,apache无法启动,命令行运行httpd.exe提示文档内容有错

    Apache无法启动,端口被占用的可能性比较大,所以建议大家还是先换端口试试,这个网上说的比较多,具体可参见http://www.cnblogs.com/zdan68/p/3855636.html. ...

随机推荐

  1. JVM菜鸟进阶高手之路八(一些细节)

    转载请注明原创出处,谢谢! gc日志问题 查看docker环境的gc日志,发现是下面这种情况,很奇怪,一直怀疑是docker环境那里是否有点问题,并没有怀疑配置,之前物理机上面的gc日志都是正常那种. ...

  2. ACM学习之路___HDU 2066 一个人的旅行

    Description 虽然草儿是个路痴(就是在杭电待了一年多,居然还会在校园里迷路的人,汗~),但是草儿仍然很喜欢旅行,因为在旅途中 会遇见很多人(白马王子,^0^),很多事,还能丰富自己的阅历,还 ...

  3. echo和print的区别

    1.echo可以同时输出多个字符串: echo 'this',' string',' is'," hello world\n"; 2.print有返回值,但是运行速度上echo比较 ...

  4. 关于ng-options

    在实际使用过程中对angular的ng-options指令有点不解,有的时候觉得很容易理解和上手,但其实等到遇到问题时,发现它很是生疏,(key,value)键值对获取,as关键词,track by ...

  5. Kindle 推送教程:教你用电子邮箱推送电子书

    Kindle 推送是什么意思?如何通过电子邮件附件推送?或许刚刚接触 Kindle 的朋友对这个概念不是很清楚,其实所谓 Kindle 推送是指亚马逊提供的一个"Kindle 个人文档服务& ...

  6. (译)通过 HTML、JS 和 Electron 创建你的第一个桌面应用

    原文:Creating Your First Desktop App With HTML, JS and Electron 作者:Danny Markov 近年来 web 应用变得越来越强大,但是桌面 ...

  7. Python文件读写模式

    r 打开只读文件,该文件必须存在. r+ 打开可读写的文件,该文件必须存在.可读,可写,可追加. w 打开只写文件,若文件存在则文件长度清为0,即该文件内容会消失.若文件不存在则建立该文件. w+ 打 ...

  8. 【归纳整理】Ajax / JSON / WEB存储 / iframe

      Ajax 一.什么是 AJAX ? AJAX = Asynchronous JavaScript and XML(异步的 JavaScript 和 XML). AJAX 是一种用于创建快速动态网页 ...

  9. 轻量级文本编辑器,Notepad最佳替代品:Notepad++

    目录 正文之前 1. 目的 2. 原帖 3. 为何推荐Notepad++ 3.1. Notepad++的一些基本特点 3.2. notepad,notepad2,notepad++,ultraEdit ...

  10. ASP.NET没有魔法——ASP.NET MVC 与数据库之MySQL&EF

    本章将介绍如何通过Entity Framework来使用My SQL,之前介绍EF时介绍了provider这个配置项,而且也介绍了在ASP.NET访问MySQL数据仍然是通过ADO.NET,不同的地方 ...