wxwidgets // g ++编译器错误:没有用于调用'operator new(..'的匹配函数

时间:2009-05-08 19:41:19

标签: c++ wxwidgets

目前我正在尝试将Visual C ++应用程序移植到Linux。代码在Visual Studio中编译时没有错误,但是我在Linux下遇到了很多编译器错误。其中一个错误是:

../src/wktools4.cpp:29: error: no matching function for
call to 'operator new(unsigned int, const char[40], int)'

更多信息:

  • IDE:用G ++开发kdevelop
  • GUI API:

错误出现在以下行:

IMPLEMENT_APP(Cwktools4App)

和其他一些行。

我错过了什么?

2 个答案:

答案 0 :(得分:1)

看起来您的Visual C ++应用程序已经超载operator new()

通常会(通过您看到的其他参数)将调试和其他分析信息添加到每个内存分配中。

由于您使用像 frame = new Cwktools4Frame; 这样简单的错误,我建议您查找将“new”重新定义为其他内容的宏或编译器级别定义。首先要看的是调试特定的构建。

答案 1 :(得分:1)

我发现了错误:

#ifdef __WXDEBUG__
#define new WXDEBUG_NEW
#endif

当我删除这些行时,我不会再出现错误了。代码是从VisualStudio的wxwidgets向导生成的。我不知道它的作用......

谢谢大家的帮助!现在我必须修复链接器错误;)