• 使用MS VS的命令来编译C++程序


    以前,我是在linux下使用命令或者makefile来编译C++程序的,最近需要在windows上做点测试。于是使用ms VS来作为开发工具,这种大揽全包的IDE确实好用:点一下菜单,编译结果就出来了。可是我的测试需要知道这些编译和连接到底怎样处理的。于是,在网上找了找,自己做了个测试。以下是记录使用ms VS的命令来编译和连接C++程序。备参考。

    源代码:

    #include <map>
    
    using namespace std;
    
    int main (int argc, char **argv)
    {
        cout<<__FILE__<<":"<<__LINE__<<"	"<<__FUNCTION__<<"	process begin at "<<(void*)main<<endl;
    
        map<string,int> mpa;
        mpa.insert(make_pair("key1",1));
        mpa.insert(make_pair("key2",2));
        mpa.insert(make_pair("key3",3));
        for(map<string, int>::iterator itr = mpa.begin(); itr != mpa.end(); itr++ )
        {
            cout<<itr->first<<"	"<<itr->second<<endl;
        }
    
        cout<<mpa.find("key1")->second<<endl;
        mpa.find("key1")->second = 11;
        cout<<mpa.find("key1")->second<<endl;
    
        cout<<"========================"<<endl;
    
        map<string,int>::iterator itr = mpa.find("key1");
        if (itr != mpa.end())
        {
            itr->second = 100;
        }
        cout<<mpa.find("key1")->second<<endl;
        //下面的程序会core
        //cout<<mpa.find("key12")->second<<endl;
    
        system("pause");
    
        return 0;
    }

    --编译
    cl /c -I"C:Program Files (x86)Microsoft SDKsWindowsv7.0AInclude" basic_main.cpp

    --连接
    "C:Program Files (x86)Microsoft Visual Studio 10.0VCinlink.exe" "C:Program Files (x86)Microsoft Visual Studio 10.0VCliblibcpmt.lib" "C:Program Files (x86)Microsoft Visual Studio 10.0VCliblibcmt.lib" "C:Program Files (x86)Microsoft Visual Studio 10.0VCliboldnames.lib" "C:Program Files (x86)Microsoft SDKsWindowsv7.0ALibKernel32.Lib" basic_main.obj

    -- 编译和连接同时进行
    cl /FA -I"C:Program Files (x86)Microsoft SDKsWindowsv7.0AInclude" "C:Program Files (x86)Microsoft Visual Studio 10.0VCliblibcpmt.lib" "C:Program Files (x86)Microsoft Visual Studio 10.0VCliblibcmt.lib" "C:Program Files (x86)Microsoft Visual Studio 10.0VCliboldnames.lib" "C:Program Files (x86)Microsoft SDKsWindowsv7.0ALibKernel32.Lib" basic_main.cpp

    编译后的结果就是在cpp所在的目录有一个basic_main.exe,命令行运行即可。结果略。
    根据命令看,是不是和linux下面的操作很像呢?

    使用环境变量配置的方式来简化命令

    在网上查了另外一种比较简单的使用命令的办法。就是把程序所需要的头文件和库文件,都设置在环境变量里。具体如下:
    头文件
    INCLUDE="C:Program Files (x86)Microsoft Visual Studio 10.0VCinclude"
    库文件
    LIB="C:Program Files (x86)Microsoft Visual Studio 10.0VClib";"C:Program Files (x86)Microsoft SDKsWindowsv7.0ALib"

    然后在打开新的命令行窗口并编译程序:
    cl basic_main.cpp
    这样,同样可以生成出可执行程序。

  • 相关阅读:
    HUST-1350 Trie
    hihocoder-第六十一周 Combination Lock
    hihocoder-1196 : 高斯消元·二
    hihocoder-1195 : 高斯消元·一
    SPOJ
    HDU-5074
    UVALive
    POJ-2195
    UVALive
    POJ-1556
  • 原文地址:https://www.cnblogs.com/babyha/p/9138561.html
Copyright © 2020-2023  润新知