VC6命令行编译配置

来源:互联网 发布:淘宝卖家如何推广产品 编辑:程序博客网 时间:2024/06/11 20:03

对于大多数在windows上写windows C/C++应用程序的人可能用的都是微软提供的VC++6.0或Visual Studio集成开发环境,但是对想为了更好地理解程序编译链接过程和习惯如linux般在命令行下工作的人来说,我们也可以配置使用命令行编译程序。

事实上,基本的程序编译链接工具为一个编译器和链接器——编译器负责把C/C++代码编译成目标二进制代码(对微软编译器一般生成.obj文件),链接器负责把目标二进制代码和各种C/C++提供的标准库(如C语言标准库的C runtime:libc.lib)链接起来,再加上特定的启动代码就生成了一个标准的windows exe或dll程序。而微软VC++6.0或Visual Studio集成开发环境所做的工作就是在这个编译器和链接器上构建一个用于编辑代码的IDE、编译链接参数配置和调试输出的GUI界面、便于项目集成管理的工作空间(VC6,对应为.dsw文件和.dsp文件)或解决方案(Visual Studio,对应文件为.sln文件)。

那么下面我们具体看一下微软C/C++的编译器和链接器,微软采用cl.exe和link.exe来编译和链接程序,cl.exe又可兼做编译器(compile)和链接器(link)的作用。同带GUI界面的集成开发环境一样,在命令行下需要一个管理多个文件编译的工具,微软用的是nmake.exe。笔者自己的电脑XP上VC6安装在D盘,找到安装位置打开如下


打开Common下MSDev98文件夹如下


打开VC98文件夹如下


进入个文件各个文件夹查看,可知微软提供的cl.exe,link.exe,nmake.exe程序都存在VC98的Bin文件下

若此时切换到命令行(在附件中打开或Win+R运行cmd),敲入cl提示是找不到程序的,此时要做的是把VC98的Bin目录加到系统目录中,再敲入cl可能会出现提示找不到MSPDB60.DLL的错误,这是因为该cl.exe的支持工具找不到,看到前面有Common下MSDev98,自然想到支持文件在其下Bin文件夹中,果然在其中找到MSPDB60.DLL。因此我们还要做的就是把MSDev98的Bin目录加到系统目录下

找到系统环境变量编辑处添加系统目录,如下(我的电脑->查看系统信息->系统属性->高级->环境变量)


可以在系统变量或用户变量中添加,笔者习惯在用户变量中添加系统目录,在用户变量中找到PATH变量(若没有则新建),在原有变量中加上D:\XP\Microsoft Visual Studio\Common\MSDev98\Bin和D:\XP\Microsoft Visual Studio\VC98\Bin目录。此时调入新的命令行窗口读入新的环境变量,注意若以前此时直接在以前打开的命令行窗口敲入cl还是不行,必须重新开cmd或新建cmd窗口读入新的环境变量才能运行。

下面新建一个新的a.c程序如下

#include<stdio.h>int main(int argc, char *argv[]){    printf("cl, link and nmake test");    return 0;}

编译:cl /Gx a.c 

此时提示无法找到或链接stdio.h,这是因为编译器找不到要包含的头文件或链接的库文件,此时只需要按照之前的步骤在用户变量中添加include位置和lib位置

INCLUDE=D:\XP\Microsoft Visual Studio\VC98\MFC\Include;D:\XP\Microsoft Visual Studio\VC98\Include和

LIB=D:\XP\Microsoft Visual Studio\VC98\Lib;D:\XP\Microsoft Visual Studio\VC98\MFC\Lib

此时编译程序:cl /Gx a.c,可以看到生成了a.obj和a.exe,运行生成的a.exe,成功!

至此,命令行配置完成


注:

命令行编译的使用,请参考相关命令说明

1、在cmd敲入 cl -help 和link  -help及nmake -help查看相关参数和用法

2、有些电脑装的盗版VC6会缺少MSPDB60.DLL,在此下载放入*\Microsoft Visual Studio\Common\MSDev98\Bin目录即可

3、对于Visual Studio的配置和VC6配置相似,在此恕不赘述!


原创,转载请注明来自http://blog.csdn.net/wenzhou1219

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 注册过的高铁用户名忘了怎么办 硕士延期毕业找好的工作怎么办 竞彩足球绑定信用卡提不了现怎么办 qq启动出现问题请卸载重装怎么办 u盘有文件打开后却是空的怎么办 王者荣耀不记得所在的区服怎么办 交易猫出售游戏账号是微信号怎么办 网银密码输错3次怎么办 无线网卡信号很好就是没网速怎么办 红米2a忘了登陆账号怎么办 qq封了密保手机没用了怎么办 乐视手机重置账号密码忘了怎么办 此版本的ios不支持银联怎么办 单反m档拍出来照片是黑色怎么办 从兴趣部落老发骚扰信息怎么办 在厂里辞一个月厂长不批怎么办 在厂里做管理被员工恐吓怎么办 在葡京娱乐输了很多钱怎么办 从珠海入镜澳门北京往返签注怎么办 艾艾灸灸了一身小子子怎么办? 微信视频已过期或已清理怎么办 视频已过期或已被清理怎么办 小孩作业不会老婆天天吵骂打怎么办 苹果手机在太阳下屏幕变暗怎么办 斗鱼的鱼丸竞猜主播结算了怎么办 附近有个小姐姐想加她好友怎么办 孩子出现听别人说话语速很快怎么办 苹果手机上的邮件删了怎么办 手机qq邮箱独立密码忘记了怎么办 哺乳期吃了人参回奶了怎么办? 扣扣邮箱里的邮件过期了怎么办 一体机的管理员账号被删除了怎么办 手机里的邮箱重要吗删除了怎么办 华为荣耀10账号邮箱忘记了怎么办 大陆微信号在台湾登录不上怎么办 威纶触摸屏被禁止到反编译了怎么办 微信公众号邮箱被占用怎么办 京东绑定的手机号不用了怎么办 绑定微信的手机号不用了怎么办 绑定支付宝的手机号不用了怎么办 百度账号手机号换了密码忘了怎么办