做windows程序有两种选择一是Win32 SDK ,二是类库。C++的类库是对SDk的一种封装,所以类库是可以跨平台移动的,也就是说Windows,Linux可以用同一个类库来编程。
SDK和Class Lib(类库)都是一种编程的接口,SDk和操作系统的结合更紧密一点,是调用操作系统功能的接口,一般一个OS一个SDK,不可移动。类库也是一个接口,他可以建立在SDK之上,以类的形式提供比SDk更好用的接口。OS SDK---->C++ Class Lib 。
废话少说,进入正题MFC类库的命令行编译。
编译器 cl.exe(VC++自带)
资源编译器 rc.exe(VC++自带)
连接器 link.exe(VC++自带)
现在以最简单的MFC对话框应用程序为例来说明
///MFC 程序的命令行编译/
<---------------------------所需文件------------------------------->
Hello.h Hello.cpp ---------------CWinApp类
HelloDlg.h Hello.cpp---------------CDialog类
StdAfx.h StdAfx.cpp----------------------------全局文件
Hello.rc----------------------资源
<------------------------------编译-------------------------------->
cl /MD /D "_AFXDLL" /c *.cpp
rc Hello.rc
link /subsystem:windows *.obj /out: Hello.exe
//
//Win32程序的命令行编译///
<-------------------所需文件--------------------->
Hello.h Hello.cpp--------------------WinMain主程序
StdAfx.h StdAfx.cpp--------------------全局文件
Hello.rc---------------------------------资源文件
<---------------编译过程------------------------->
cl /c hello.cpp
rc hello.rc
link hello.obj user32.lib gdi32.lib kernel32.lib
//
本人在试验过程中感觉,编译MFC程序的主要难点在编译器CL的几个参数/MD /D
为了这个没少耗费时间