使用g ++编译,但仍然得到对operator new的未定义引用

时间:2011-07-14 08:51:48

标签: c++ g++ ld

我正在使用g ++进行编译,但是当它编译与Makefile位于同一目录的depend文件中的文件时,我得到了一个

undefined reference to `operator new(unsigned int)'

感谢。

编辑:

你是对的。

如何在Makefile的上下文中使用g ++作为链接器而不是ld。一直在寻找,但无法弄清楚。

2 个答案:

答案 0 :(得分:4)

您的问题代码表明您使用ld进行关联。不要那样做;请改用g++。这将导致链接c ++ stdlib静态库。

答案 1 :(得分:0)

这个g ++是一个嵌入式编译器(arm的代码源代码)。您应该将问题标记为嵌入式和/或手臂式。编译器想告诉你必须自己实现_write,_close_r,...

看看: http://www.codesourcery.com/sgpp/lite/arm/portal/doc7616/libc.pdf。它描述了您需要实现的功能的签名。