使用g++编译,但仍然得到对operator new的未定义引用
Compiling using g++, yet still get undefined references to operator new
我正在使用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。它描述了您需要实现的函数的签名是什么。
相关文章:
- 过载'operator new'如何导致无限循环?
- 在C++中调用 malloc() 与"operator new"函数之间的实现差异
- C++和组装:通过ASM呼叫'operator new'和'operator delete'
- 'operator new':函数不接受 2 个参数
- 错误 C2661:'CObject::operator new':没有重载函数需要 4 个参数
- 错误 35 错误 C2661:'operator new':没有重载函数占用 2 个参数
- 什么是"::operator new"和"::operator delete"?
- void* in malloc vs operator new
- 我们还需要"placement new"和"operator new"吗?
- 'operator new'的第一个形式参数必须'size_t'
- 正在对使用operator new okay的放置delete操作的结果调用delete
- operator new[]在MSVC调试时非常慢
- ::operator new[]()与::operator new()有什么不同?
- 为什么替换malloc()需要了解链接器,而::operator new()不需要
- 带nothrow选项的Operator new仍然会抛出异常
- :operator delete(void*)是否知道使用::operator new(size_t)分配的内存大小
- 类x没有默认构造函数,operator new继承
- 如何使用operator new对包含复合类的派生类进行直接初始化
- 如何使用operator new创建动态2D字符数组
- 执行operator new的任何实现都返回指向大小为零的数组的保护页的指针