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

Compiling using g++, yet still get undefined references to operator new

本文关键字:operator new 引用 未定义 编译 g++ 使用      更新时间:2023-10-16

我正在使用g++编译,然而当它去编译与Makefile在同一目录下的依赖文件中的文件时,我得到一个

undefined reference to `operator new(unsigned int)'

谢谢。编辑:

你是对的。

如何在Makefile的上下文中使用g++而不是ld作为链接器。

问题的标签表明您正在使用ld进行链接。不要那样做;用g++代替。这会导致c++stdlib静态库被链接。

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

看一下:http://www.codesourcery.com/sgpp/lite/arm/portal/doc7616/libc.pdf。它描述了您需要实现的函数的签名是什么。