vs2013怎么在命令行使用cl编译?
1个回答
展开全部
1. “cl不是可用的内部命令或可执行程序”
----原因:环境变量Path没有设置好。
----解决:在环境变量Path中添加VC的bin目录。Path= D:\Microsoft Visual Studio 9.0\VC\bin。在D:\Microsoft Visual Studio 9.0\VC\ce\bin下还有其他一些编译器,看名字是交叉编译用的
2.“mspdb80.dll无法找到”
----原因:vs2008的VC\bin目录下缺少msobj80.dll、mspdb80.dll、mspdbcore.dll、mspdbsrv.exe这四个文件。
----解决:在D:\Microsoft Visual Studio 9.0\Common7\IDE下复制这四个文件到VC\bin。
3.解决以上问题以后,可以直接在命令行的任何目录下编译C/C++文件了。可是又出现新状况:
“fatal error: cannot open include file”
----原因:vs2008未设置include和lib的环境变量。
----解决:
3.1在环境变量里添加变量INCLUDE,包含进VC\Include和C:\Program Files\Microsoft SDKs\Windows\v6.0A\Include(这个是安装vs时自动安装在C盘的)两个目录
INCLUDE=D:\Microsoft Visual Studio 9.0\VC\include; C:\Program Files\Microsoft SDKs\Windows\v6.0A\Include
3.2添加变量LIB,包含进VC\lib和C:\Program Files\Microsoft SDKs\Windows\v6.0A\Lib(这个也是安装vs时自动安装在C盘的)两个目录:
LIB=D:\Microsoft Visual Studio 9.0\VC\lib; C:\Program Files\Microsoft SDKs\Windows\v6.0A\Lib
4.提示:fatal error LNK1104: 无法打开文件“kernel32.lib”,(在IDE里面运行没有问题,因为IDE中采用了另外的封装了库)
----原因:vs2008未设置include和lib的环境变量。
----解决:在环境变量里添加变量LIB,C:\Program Files\Microsoft SDKs\Windows\v6.0A\Lib
或者将kernel32.lib直接copy到vc的lib目录下也可以
至此,问题终于解决了,hoho~o(∩_∩)o...
【Tips】
1.使用-GX选项时,2005的编译器会提示GX已过时,使用-EHsc代替
cl : Command line warning D9035 : option 'GX' has been deprecated and will be re
moved in a future release
cl : Command line warning D9036 : use 'EHsc' instead of 'GX'
2.环境变量可以通过“我的电脑右键->高级->环境变量”设置。当然也有其它方法,欲知详情请百度之。
【Ref】
http://blog.163.com/danshiming@126/blog/static/109412748201312703225352/(在命令行界面使用vs2005的cl )
http://hi.baidu.com/fymzone/blog/item/fdac1bfb9ba55f65034f5689.html(用vs2005编译器cl在控制台下编译)
http://hi.baidu.com/vanta/blog/item/f62035a80ec521b5cb130c3b.html(在cmd中键入cl执行编译时会出现mspdb80.dll无法找到的情况)
----原因:环境变量Path没有设置好。
----解决:在环境变量Path中添加VC的bin目录。Path= D:\Microsoft Visual Studio 9.0\VC\bin。在D:\Microsoft Visual Studio 9.0\VC\ce\bin下还有其他一些编译器,看名字是交叉编译用的
2.“mspdb80.dll无法找到”
----原因:vs2008的VC\bin目录下缺少msobj80.dll、mspdb80.dll、mspdbcore.dll、mspdbsrv.exe这四个文件。
----解决:在D:\Microsoft Visual Studio 9.0\Common7\IDE下复制这四个文件到VC\bin。
3.解决以上问题以后,可以直接在命令行的任何目录下编译C/C++文件了。可是又出现新状况:
“fatal error: cannot open include file”
----原因:vs2008未设置include和lib的环境变量。
----解决:
3.1在环境变量里添加变量INCLUDE,包含进VC\Include和C:\Program Files\Microsoft SDKs\Windows\v6.0A\Include(这个是安装vs时自动安装在C盘的)两个目录
INCLUDE=D:\Microsoft Visual Studio 9.0\VC\include; C:\Program Files\Microsoft SDKs\Windows\v6.0A\Include
3.2添加变量LIB,包含进VC\lib和C:\Program Files\Microsoft SDKs\Windows\v6.0A\Lib(这个也是安装vs时自动安装在C盘的)两个目录:
LIB=D:\Microsoft Visual Studio 9.0\VC\lib; C:\Program Files\Microsoft SDKs\Windows\v6.0A\Lib
4.提示:fatal error LNK1104: 无法打开文件“kernel32.lib”,(在IDE里面运行没有问题,因为IDE中采用了另外的封装了库)
----原因:vs2008未设置include和lib的环境变量。
----解决:在环境变量里添加变量LIB,C:\Program Files\Microsoft SDKs\Windows\v6.0A\Lib
或者将kernel32.lib直接copy到vc的lib目录下也可以
至此,问题终于解决了,hoho~o(∩_∩)o...
【Tips】
1.使用-GX选项时,2005的编译器会提示GX已过时,使用-EHsc代替
cl : Command line warning D9035 : option 'GX' has been deprecated and will be re
moved in a future release
cl : Command line warning D9036 : use 'EHsc' instead of 'GX'
2.环境变量可以通过“我的电脑右键->高级->环境变量”设置。当然也有其它方法,欲知详情请百度之。
【Ref】
http://blog.163.com/danshiming@126/blog/static/109412748201312703225352/(在命令行界面使用vs2005的cl )
http://hi.baidu.com/fymzone/blog/item/fdac1bfb9ba55f65034f5689.html(用vs2005编译器cl在控制台下编译)
http://hi.baidu.com/vanta/blog/item/f62035a80ec521b5cb130c3b.html(在cmd中键入cl执行编译时会出现mspdb80.dll无法找到的情况)
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询