使用dos编译c++程序

来源:互联网 发布:机顶盒看电影软件 编辑:程序博客网 时间:2024/05/10 00:32

刚开始学c++,看c++ primary,要求使用console编译程序,于是整理了一下

1.安装编译器,我安装的是vs2012

2.有两种方式配置环境变量:

①通过使用C:/Program Files/Microsoft Visual Studio/VC98/Bin>VCVARS32.bat这个批处理命令(安装好vs后会产生),不过这个命令是临时性的,每次进入cmd,都要cd到该文件目录,执行一次这个文件,再进行编译操作。cd到你的文件目录,通过命令:CL HelloWorld.cpp,产生两个文件,一个exe执行文件,一个obj文件,如图,

②设置环境变量PATH,永久有效。

电脑右键属性-->高级环境变量-->系统环境变量选择PATH 编辑,将以下内容复制追加:
;D:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE;D:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\Tools;D:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\bin;D:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\vcpackages;C:\Windows\Microsoft.NET\Framework64\v4.0.30319;C:\Windows\Microsoft.NET\Framework64\v3.5;C:\Windows\Microsoft.NET\Framework\v4.0.30319;C:\Windows\Microsoft.NET\Framework\v3.5;

设置完之后,进入命令行,执行CL HelloWorld.cpp命令即可(省略了vcvars32.bat批处理命令)

方法2有点问题,看了下百度知道大神回答,复制过来,

在开始目录中找到VS2012安装目录-->开发工具目录项-->vs2012 X64 command prompt如果喜欢,你可以把它拖到桌面。点击后就可以cl, res, nmake等(vs2012安装目录/VC/bin目录下所有可执行文件)。你右击vs2012 X64 command prompt的属性选项,一定是C:\WINDOWS\system32\cmd.exe /k vcvars32.bat
追问
嗯,确实有个VS 自带的VS2012 CMD 。但是我看别人VS2008,什么都没做,直接用电脑自带的CMD就能运行了。而我的就不行,是不是我的电脑缺什么文件或者又什么设置不对?
回答
你的电脑什么都不缺,设置也是正确的。要想cmd.exe中的对某些变量永久生效,就必须在:我的电脑 ->属性 ->环境变量,设置相应的<变量名,值>。这些变量由系统维护,也就是和系统的生命周期一样。而cmd.exe /k vcvars32.bat是由cmd.exe进程维护的,它先找vcvars32.bat中的变量,再找系统环境变量,当你关掉cmd.exe后,在重现cmd.exe不加参数的方式打开,vcvars32.bat 中的<变量名,值>不会存在,但系统环境变量仍被加载。所以你那个同学是设置了系统环境变量,比如,添加<Path, ...;vs2012安装目录/VC/bin>后, 开启或重启cmd.exe,你就可以cl, res, nmake了,不过仍然会有错误,你必须去看vcvars32.bat, 它是怎么写的,你就怎么添加系统环境变量。Note: 我以前用vc++6.0是这样做的,后来到vs2010, vs2012,我看到有那个command prompt工具,我就没这么做了。为什么了,假设你有vs2008, vs2010, vs2012, 如果你设置环境变量,每次你想换个编译器版本测试你的代码,你就必须修改系统环境便宜,那多不方便,所以使用cmmand prompt不是更方便吗。我认为你只要了解cmd.exe中的系统环境变量和临时变量就够了,而使用vs command prompt才是明智之举。
 

 

 http://zhidao.baidu.com/link?url=j8KaxvKZ9jbmQ0bhAlKLlq5WcBCQuRNdQah9eNhBitfltVh1QlptRxEk3troUEno2MuobYILIGeH-oiL9Jcwzq

http://www.cnblogs.com/bluestorm/p/3321558.html

http://blog.csdn.net/findsafety/article/details/8712328

0 0