怎样解决编译MFC程序出现的错误?

acneyouth 2002-07-16 10:48:20
我把一个MFC的工程转成了bcb的工程,编译时出现了四个错误,请问如何解决?
Multiple declaration for 'CDrAccessScript_IMoaMmXScript::operator delete(void *)'
Earlier declaration of 'CDrAccessScript_IMoaMmXScript::operator delete(void *)'
Multiple declaration for 'CDrAccessRegister_IMoaRegister::operator delete(void *)'
Earlier declaration of 'CDrAccessRegister_IMoaRegister::operator delete(void *)'
这是一个例程,我在VC下编译时一点问题也没有。
...全文
40 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
acneyouth 2002-07-17
  • 打赏
  • 举报
回复
这个工程是marcomedia公司写的一个插件的源程序,它用到了自己的开发包。麻烦大家帮我看一下,给我一点思路。


下边是两个编译出错的头文件:
/* DrAcScrp.h的包含文件*/
/***它报的错有两个:multiple declaration和earlier declaration*/
#ifndef _H_cscript
#define _H_cscript

#ifndef _H_moaxtra
#include "moaxtra.h"
#endif

#include "mmixscrp.h"

#include "moafile2.h"
#include "moastr2.h"

#include "mmiservc.h"

#include "driservc.h"

#if defined(WINDOWS) && defined(WIN32)
#include <winuser.h> // for GetStageRect
#endif

#ifdef MACINTOSH
#include <windows.h>
#include <string.h>
#endif

#ifndef UNUSED
#define UNUSED(x) x
#endif

#define MYFILE_NAME "myfile.txt"




/*下边是DracRge.h,它报的错和上边的一样*/

#ifndef _H_cregster
#define _H_cregster


#ifndef _H_moaxtra
#include "moaxtra.h"
#endif
#ifndef _H_cscript
#include "DrAcScrp.h"
#endif

#define USING_LOAD_CONTROL
#ifndef UNUSED
#define UNUSED(x) x
#endif
acneyouth 2002-07-16
  • 打赏
  • 举报
回复
Project->Options->Advanced Compiler->MFC Compatibility早勾上了。
kingcaiyao 2002-07-16
  • 打赏
  • 举报
回复
启动
Project->Options->Advanced Compiler->MFC Compatibility选项。
acneyouth 2002-07-16
  • 打赏
  • 举报
回复
这是一个macromedia提供的VC写的director插件(xtras)的源程序,我的目的是想找一个用BCB开发xtras的方法。我想VC能做的BCB也应该可以,希望大家都来帮帮我!
另外,这个程序肯定用到了marcoMedia专为VC提供的XDK开发包,问题是不是从这里产生的呢?
acneyouth 2002-07-16
  • 打赏
  • 举报
回复
我把一个VC的工程转成了bcb的工程,编译时出现了四个错误,请问如何解决?
Multiple declaration for 'CDrAccessScript_IMoaMmXScript::operator delete(void *)'
Earlier declaration of 'CDrAccessScript_IMoaMmXScript::operator delete(void *)'
Multiple declaration for 'CDrAccessRegister_IMoaRegister::operator delete(void *)'
Earlier declaration of 'CDrAccessRegister_IMoaRegister::operator delete(void *)'
这是一个例程,我在VC下编译时一点问题也没有。
钛哥 2002-07-16
  • 打赏
  • 举报
回复
我也经常碰到类似问题,有时将 *.h 中包含的文件提到*.cpp 中就好了,有时调换一下包含的顺序就好了,有时莫名其妙就好了...
钛哥 2002-07-16
  • 打赏
  • 举报
回复
把你所有的头包含帖出来
acneyouth 2002-07-16
  • 打赏
  • 举报
回复
各位大哥给我一点点思路嘛,VC里一点问题没有,CB里怎么会Multiple declaration 、Earlier declaration 呢?

13,822

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧