我去年写的有点复杂又有点乱的MFC代码,有些代码是网上复制来的,印象中当时是可以用的。
我是64bit的,vs2005
几个月没用,现在需要,编译连接时居然说:
必须定义入口点 link error:1561theApp 分明在那里,为什么找不到?请教高人.
我是64bit的,vs2005
几个月没用,现在需要,编译连接时居然说:
必须定义入口点 link error:1561theApp 分明在那里,为什么找不到?请教高人.
解决方案 »
- 右键弹出菜单问题
- 大家把使用MFC时总结的小技巧都贴上来吧。希望对新手有帮助。
- 在dll中创建的线程如何向其他进程发消息!急!急!
- 属性表CPropSheet去掉"应用"之后, 确实和取消连在了一起不美观, 如何排版?
- ::SendMessage(*AfxGetMainWnd(), WM_USER+1, 0, (LPARAM) slisten );
- 一个比较棘手的界面问题
- 如何刷新编辑框里的数字?
- 请问为什么图标一放到托盘上颜色就变得那么难看了呢?
- Vc中在FlexGrid中内嵌日期控件(CDateTimeCtrl)问题?
- 为什么编译出错??请指教!!!
- 问一下,现在做数字图像处理的薪水高么?
- 求助:BIMAPINFO结构体的问题
但没搞懂原因。
等高人解释了原因了,再结贴。
用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”后编译通过了。
与字符集应该没关系。环境设置成x86是可以编译执行的,改成x64就不行了。需要改整个项目属性,不过项目属性的各项意义也没看什么书有详细的介绍,所以遇到编译连接错误,只能乱蒙。