我去年写的有点复杂又有点乱的MFC代码,有些代码是网上复制来的,印象中当时是可以用的。
我是64bit的,vs2005
几个月没用,现在需要,编译连接时居然说:
必须定义入口点 link error:1561theApp 分明在那里,为什么找不到?请教高人.

解决方案 »

  1.   

    这个表示没有入口点啊,就是找不到main函数,有点奇怪
      

  2.   

    我一项一项比照另一个64bit的代码,设置了项目属性,居然编译连接成功了。
    但没搞懂原因。
    等高人解释了原因了,再结贴。
      

  3.   

    这个应该与多少位的没多大关系把貌似控制台之类的程序才要Main之类的入口我也用的vc2005,不过做的不是控制台之类的程序,没有出现上述现象,奇怪
      

  4.   

    不过网上有人给出了解决方案
           用VS2005新建了一个VC++的项目,然后把编辑好的.h文件与.cpp文件添加到空项目中,当编译时首先出现了第一个错误: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]。即刻与原项目进行一次比较,发现项目设置有所不同,则将常规->项目默认值->MFC的使用设置为“在共享DLL中使用MFC”,设置确定后再进行编译,error C1189错误消除了。同时出现了error LNK1561错误,上网找了一阵,无果。然后,新建了一个Win32的项目,将编辑好的文件添加至项目中,编译则出现C1189错误,对项目设置修改后编译通过。我则将第一个空项目与Win32项目的项目设置进行比对,发现链接器->高级->入口点中win32项目中有“wWinMainCRTStartup”的值,则将该值添加到空项目的设置中,依然报错。实在无法之时,我将“wWinMainCRTStartup”改为“WinMainCRTStartup”后编译通过了。
      

  5.   

    感觉像是unicode的原因呢? 吧运行时库的启动函数名字搞错了?
      

  6.   

    Use Character Set问题???
      

  7.   

    Use Character Set问题
    与字符集应该没关系。环境设置成x86是可以编译执行的,改成x64就不行了。需要改整个项目属性,不过项目属性的各项意义也没看什么书有详细的介绍,所以遇到编译连接错误,只能乱蒙。