现在的位置: 首页 > 综合 > 正文

vs2010使用命令行编译的方法

2013年10月12日 ⁄ 综合 ⁄ 共 998字 ⁄ 字号 评论关闭

VS做的很智能,一个F7就完成了预处理、编译、链接的所有工作。但是当工程比较大,使用的文件模块比较多,一旦出现编译错误定位问题时就比较困难。因此,有时候需要对每个模块单独编译,就像Linux下编写的 makefile文件一下,分别编译每一个.o目标文件然后再链接成为一个.exe可执行程序。总结下在VS下使用命令行分别编译程序的方法。

在dos下编译的前提环境配置要求:

1.找到vs的cl.exe所在目录,在vs2010为F:\visual 2010\VC\bin,可参考。

2.点击“我的电脑”进行环境变量的配置,找到"path"变量加分号后加入刚才的路径。(当出现cl不是内部命令的时候可以解决)

3.重新运行cmd开启新的命令窗口,输入cl检查path设置是否生效。(只需配置一次即可,以后再次运行的时候不用再运行此命令)。

4.输入vcvars32,这条命令是运行同路径下的vcvars32.bat设置它的环境变量。

5.输入cl hello.cpp即可正常编译。

 

 


下面总结一些常用的命令:

通过快捷方式Visual Studio Command Prompt (2010)可以打开VS的命令行界面。

(1) 在命令行提示符窗口中输入:cl  /?   或者   cl -help 可以查看cl所有的命令选项。

(2) 在默认情况下cl编译完后会自动调用link进行链接,可以使用/c选项阻止链接。

(3) 编译一个文件命令:cl /FeMyapp 1.cpp,然后输入程序名Myapp执行程序。(注意1.h在本地,可以通过/I选项指定头文件路径)

(4) 编译多个文件命令:cl /FeMyapp 1.cpp 2.cpp 3.cpp,然后输入程序名Myapp执行程序。

(5) 只输出 .i 预编译文件命令:cl /FiA /P A.cpp,然后会生成 A.i 预编译文件。这个方法类似Linux下的  gcc -E A.cpp -o A.i 命令。此命令的主要作用是用于检查未定义情况的错误。 

(6) 只输出 .o 目标文件命令:cl /FoA /c A.cpp,然后会生成 A.obj 目标文件,类似Linux下的 .o 文件。注 意这里应该带上 /c 选项,原因见(2),即默认情况下,cl会自动对编译好的目标文件进行链接,如果此时,所编译的目标文件引用了其他目标文件中的符号的话,就会出现链接错误。 

 

参考网址 :http://zhidao.baidu.com/question/184905864

抱歉!评论已关闭.