在Windows命令行里编译C++程序

来源:互联网 发布:sql 多列union 用法 编辑:程序博客网 时间:2024/06/06 07:46

调用C++编译器的命令,因为编译器和操作系统的不同而有所差别。已经知道,在Linux下,通常使用GNU编译器来编译C++程序,具体命令为:

    $ g++  program.cc -o program

其中,-o是编译器选项,后面紧跟着编译后生成的可执行文件的名字。

若想在Windows下使用命令行来很拉风地编译C++程序,命令是什么呢?

是cl。

注意,这个命令使用的前提条件是:系统中已经安装了Visual Studio编译器,并且环境变量设置没有问题。

命令为:

C:\lisa> cl -GX program.cpp

其中,-GX与-o的意义差不多,也是编译时的一个选项。微软编译器自动产生与源文件同名的可执行文件,并具有.exe后缀。


通过搜索发现,cl编译命令的其他选项及其含义还有以下几个:

cl有很多选项,请通过cl /?获取完整列表。这里列出了一些最重要的选项(选项的前缀可以是'-'或'/'),并且有例子。

         无选项
               C:\lisa>cl foo.c bar.c                   <==编译出foo.obj,bar.obj并自动调用链接器link链接得到foo.exe

          /c            只编译不链接
               C:\lisa>cl /c foo.c bar.c                <==编译出foo.obj,bar.obj,但不调用链接器

          /link <lib>   指定要链接的Library
               C:\lisa>cl /link kernel32.lib foo.c      <==编译出foo.obj,并链接kernel32.lib,得到foo.exe

          /I <dir>      把目录加入include搜录路径中

          /D<name>{=|#}<text> 定义预处理器
       C:\lisa>cl /D_CRT_SECURE_NO_DEPRECATE /D_CRT_NONSTDC_NO_DEPRECATE <==定义2个预处理器


      cl常用选项
          /c                            只编译不链接
          /O2                           设定速度最优化
          /W3                           设定警告等级3



0 0