命令行编译MFC程序(转载)

来源:互联网 发布:app制作软件有哪些 编辑:程序博客网 时间:2024/05/23 12:11

命令行编译MFC程序(转载)

(2007-03-29 08:50:13)

转载
标签:

dos

mfc

分类:windows
今天在编译《深入浅出MFC》上的helloMFC例子时,遇到了不少问题,现在把我遇到的问题记下来,算是个读书笔记吧。
 
在把书上的代码敲进电脑运行后:
问题一:NMAKE不是内部命令
解决方法:在环境变量的PATH中加入C:/Program Files/Microsoft VisualStudio/VC98/Bin。当然这个值根据你的VC6的安装目录做相应改变。
 
问题二: fatal errorU1033: syntax error : ':' unexpectedStop
解决方法:hello.mak文件中的link.exe不能顶格写,至少要空一格,至于原因不太清楚。
 
问题三:fatal errorU1007:double quotation mark not allowed in nameStop.
解决方法:同上,cl.exe、rc.exe之前也要有空格。同样的格式错误却提示不同错误,无语.....并且第一行的hello.exe必须顶格写,不然也会提示错误....
 
问题四:弹出一个对话框"没有找到mspdb60.dll,因此这个应用程序未能启动。重新安装应用程序可能会修复此问题"。DOS下显示如下错误NMAKE: fatal error U1077 :'cl.exe' : return code '0xc0000135'Stop.
解决方法:在环境变量path中加入C:/ProgramFiles/Microsoft VisualStudio/Common/MSDev98/Bin,注意,修改了环境变量后要重新启动MS-DOS,否则不能生效。
 

问题五:stdafx.h(4) : fatal error C1034: afxwin.h:no include path set
NMAKE : fatal error U1077: 'cl.exe' : return code '0x2'
Stop.
解决方法:由于这里提示没有include路径,所以我们在环境变量中设置以下三个include目录
C:/Program Files/Microsoft Visual Studio/VC98/INCLUDE
C:/Program Files/Microsoft Visual Studio/VC98/MFC/INCLUDE
C:/Program Files/Microsoft VisualStudio/VC98/ATL/INCLUDE

问题六:hello.h(4) : error C2555:'CMyWinApp::InitInstance' : overriding virtual functio
n differs from 'CWinApp::InitInstance' only by return type orcalling convention
解决方法:原来是CMyWinApp::InitInstance声明中bool用了小写,编译时认为这个与基类的InitInstance函数声明不一样。改成大写就可以了。

问题七:resource.h(2) : fatal error RC1004:unexpected end of file found
解决方法:在网上下了一个源代码,对比之后拷贝了一个文件结尾就可以了。当然,还要拷贝文件JJHOUR.ICO到工程目录下,不然又会出错,这个图标在网上的源代码里有。

问题八:LINK : fatal error LNK1104: cannot openfile "mfc42.lib"
解决方法:终于轮到设置lib目录了。在环境变量中设置以下两个lib目录
C:/Program Files/Microsoft Visual Studio/VC98/LIB
C:/Program Files/Microsoft Visual Studio/VC98/MFC/LIB

大功告成!!

原创粉丝点击