用VC8编译器cl在控制台下编译
扫描二维码
随时随地手机看文章
1. 添加VC的bin目录到Path:
PATH=D:/Program Files/Microsoft Visual Studio 8/VC/bin;
2. 添加环境变量INCLUDE:
INCLUDE=D:/Program Files/Microsoft Visual Studio 8/VC/PlatformSDK/Include;D:/Program Files/Microsoft Visual Studio 8/VC/include
3. 添加环境变量LIB:
LIB=D:/Program Files/Microsoft Visual Studio 8/VC/PlatformSDK/Lib;D:/Program Files/Microsoft Visual Studio 8/VC/lib
4. 启动控制台,可以随便写一个简单的 helloworld.cpp 进行编译>cl helloworld.cpp,编译成功会产生helloworld.exe,可以直接在控制台下输入 helloworld.exe 运行exe程序
如果运行cl提示“没有找到mspdb80.dll”的话,直接从D:/Program Files/Microsoft Visual Studio 8/Common7/IDE下复制mspdb80.dll和mspdbsrv.exe到VC/bin目录下即可。之前只复制mspdb80.dll,可以在控制台下使用cl进行编译,不过后来打开vs2005进行编译的时候居然提示“程序数据库管理器不匹配;请检查安装”,遂查资料,将mspdbsrv.exe也考过去之后问题就没了。
如果装有VC,那就简单了,因为VC带有C的编译器,可以将此路径设置进环境变量。
Windows系统下编译连接源代码方法:
cl -GX test.c
-GX:启动同步异常处理
上面的命令会产生可执行程序:test.exe
在命令行中直接输入:test.exe 就可运行该程序
----------------------------------------------------------------------------------------------------
注意:
如果在CMD窗口中用SET命令进行环境变量的设置,则仅对本CMD窗口有效,关闭CMD窗口之后,环境变量恢复成修改之前的状态。
----------------------------------------------------------------------------------------------------
Tips:
一、cmd中键入cl提示不认识cl命令,则由于无法找到cl.exe程序。解决方法如下:
添加系统变量(Path),这样:我的电脑->属性->高级->环境变量->系统变量,在path中添加
"C:/Program Files/Microsoft Visual Studio 9.0/VC/bin;"
注意:
1. 结尾最后用“;”隔开
2. 如果你的Microsoft Visual Studio 低于9.0版本或高于9.0版需要修改上面的路径名称
二、cmd中键入cl执行编译时会出现mspdb80.dll无法找到的情况,是因为VC/Bin/下没有 msobj80.dll,
mspdb80.dll,mspdbcore.dll,mspdbsrv.exe 这四个文件,解决的方法:
1. 直接从Common7/IDE/下复制这四个文件到VC/Bin/下即可解决
2. 添加系统变量(Path),这样:我的电脑->属性->高级->环境变量->系统变量,在path中添加 "C:/Program Files/Microsoft Visual Studio 8/Common7/IDE;" 注意结尾最后用“;”隔开,这样在用cl编译就不会出现mspdb80.dll文件找不到的错误了。
三、如果你在编译过程中,出现一下错误:
1. fatal error C1034: stdio.h: no include path set
2. fatal error LNK1104: cannot open file "kernel32.lib
请在我的电脑->属性->高级->环境变量->系统变量中新建系统变量LIB和INCLUDE并设置它们的值为:
LIB=C:/Program Files/Microsoft SDKs/Windows/v6.0A/Lib;C:/Program Files/Microsoft SDKs/Windows/v5.0/Lib;C:/Program Files/Microsoft Visual Studio 9.0/VC/lib
INCLUDE=C:/Program Files/Microsoft Visual Studio 9.0/VC/include
----------------------------------------------------------------------------------------------------
Linux系统下编译连接源代码的方法:
gcc -g -c test.c -o test 只生成目标文件(.obj文件),没有生成可执行文件(也就是说test是.obj文件)
gcc -g test.c -o test 生成可执行文件(可以通过./test运行程序)
-g: 生成调试信息,GNU 调试器可利用该信息。
-c: 只编译并生成目标文件。(没有中间文件生成和可执行文件,如列表文件、可执行文件)
-o: 设置生成的可执行程序的名字为test
上面的命令会产生可执行程序:test
在Terminal中输入:./test 就可以运行该程序了。
----------------------------------------------------------------------------------------------------
操作步骤如下:
1.在命令行下,先运行vcvars32.bat(此文件在VC安装目录/Bin文件夹里,其中设置了环境变量和路径等信息)或者手动修改环境变量:
path=你安装VS的路径/VC98/Bin
lib=你安装VS的路径/VC98/lib;你安装VS的路径/VC98/MFC/lib
include=你安装VS的路径/VC98/include;你安装VS的路径/VC98/MFC/include;你安装VS的路径/VC98/ATL/lib
2.然后直接用CL编译器编译C++程序(如:CL /GX /MT zx.cpp)。
CL经常使用的选项为:
多线程dll(/MD)-动态链接,不包含运行时库文件
多线程(/MT)-静态链接,包含运行时库文件