编译《深入解析MFC》第一个程序遇到的问题

        想趁这个暑假学好MFC编程,看了网上朋友的推荐,选了大名鼎鼎的《深入解析MFC》这本书。不过在编译他的第一个mfc程序示例是就遇到困难了。        编译器显示如下错误提示:fatal error C1189: #error : Building MFC application with /MD[d] (CRT dll version) requires MFC shared dll version. Please #define _AFXDLL or do not use /MD[d]
摘要由CSDN通过智能技术生成

        想趁这个暑假学好MFC编程,看了网上朋友的推荐,选了大名鼎鼎的《深入解析MFC》这本书。不过在编译他的第一个mfc程序示例是就遇到困难了。

        编译器显示如下错误提示:fatal error C1189: #error : Building MFC application with /MD[d] (CRT dll version) requires MFC shared dll version. Please #define _AFXDLL or do not use /MD[d]

       上网找怎么解决问题,发现许多人都遇到同样的问题,同时提供了各种各样的解决办法。我用的是vs2008,我提供下我的机子上的解决方案供大家参考:右击项目-->属性-->配置属性-->常规,然后在右边的“项目默认值”中的“MFC的使用”选项中选择“在共享 DLL 中使用 MFC”,再运行就不会有错误了,也可以选“在静态库中使用MFC”。他们的区别不大,具体区别大家可以上网搜索。

       针对上面的那个例子,我又编译了一下,连接时又遇到如下问题:fatal error LNK1561: entry point must be defined。程序中没有定义入口函数?。。。。  我想可能又跟vs2008的link设置有关,我又照着先前的步骤:右击项目-->属性-->配置属性.....  找到linker项下面的Advanced,在右边发现Entry Point字段是空的,可能是这里的问题。我们知道在MFC里(其他c/c++程序也是)程序的入口点并非我们写的main()或者WinMain(),而是WinMainCRTStartup(),由他调用我们的main函数。所以我在该字段下添了WinMainCRTStartup,点击应用。再build一次成功了。问题解决。

      我又在网上找到一些其他的关于这个问题的资料(摘录):

{

      今天,在VC的开发之路上继续摸索前行时,碰到一个连接错误“fatal error LNK1561: entry point must be defined”,查了很多资料都没能够解决,最终查到是连接命令中的/subsystem不正确,改为/subsystem:windows后一切正常,特此写下随笔一篇,加深自己的印象。

附:VC知识库中的一段相关文章

<

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值