經過命令行使用cl.exe編譯器

轉載http://www.cnblogs.com/mizhongqin/archive/2013/03/11/cmd_cl-exe_vs2010.htmlhtml

與在IDE中編譯相比,命令行模式編譯速度更快,並能夠避免被IDE產生的一些附加信息所幹擾,下面介紹在Win7 命令行下編譯C++。ios

一、 首先要正確安裝Visual Studio 2010,安裝路徑(D:\Program Files)spa

二、設置環境變量:命令行

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

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

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

二、寫一個hello world C++程序get

 

/*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.cccmd

三、重啓電腦,打開命令行,執行以下命令編譯器

其中,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.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

相關文章
相關標籤/搜索