轉載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 = 0; } 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(100); a.print(); return 0; }
然后按照上面介紹的方法,在cmd中輸入:cl main.cpp header.cpp