今天在写一个mfc程序。但是老是出现error LNK2005的错误,之前也碰到过类似的错误,但是如何解决的就忘记了。折腾了很久才在网上找到这个原因,在此记录一下。
原来我的mfc中有一个.h文件里面定义了一些工具函数。没有使用inline。
下面记录一下网友终结出来的:
编写MFC程序时,自定义类(未用MFC类生成向导定义的类,类定义与成员函数都放在.h头文件里),若其成员函数放在类定义外,必须成员函数定义处必须加上“inline”,即将成员函数定义为内置函数!否则,链接时就会出现“error LNK2005:…… already defined in”错误!
此类错误解决办法:
1、将成员函数定义移入类定义内;
2、在成员函数定义加上“inline”,即将成员函数定义为内置函数
3、改用MFC类生成向导定义类
posted on 2011-09-04 19:56
木华 阅读(285)
评论(0) 编辑 收藏 引用