我用G ++編譯,但是當它來編譯依賴文件,該文件在同一目錄下的Makefile文件,我得到一個編譯使用G ++,但仍然得到了一個未定義的引用到運營商新
undefined reference to `operator new(unsigned int)'
謝謝。
編輯:
你是對的。
如何在Makefile的上下文中使用g ++作爲鏈接器而不是ld。一直在搜索,但無法弄清楚。
我用G ++編譯,但是當它來編譯依賴文件,該文件在同一目錄下的Makefile文件,我得到一個編譯使用G ++,但仍然得到了一個未定義的引用到運營商新
undefined reference to `operator new(unsigned int)'
謝謝。
編輯:
你是對的。
如何在Makefile的上下文中使用g ++作爲鏈接器而不是ld。一直在搜索,但無法弄清楚。
您問題的標籤建議您使用ld
進行鏈接。不要那樣做;改爲使用g++
。這將導致C++ stdlib靜態庫被鏈接。
這個g ++是一個嵌入式編譯器(arm的代碼源代碼)。你應該將你的問題標記爲嵌入式和/或手臂。編譯器想告訴你,你必須實現_write,_close_r,...自己。
看一看: http://www.codesourcery.com/sgpp/lite/arm/portal/doc7616/libc.pdf。它描述了您需要實現的功能的簽名。
如果可能,請顯示您的代碼。 –
@gargob:發佈你如何編譯程序並向我們展示它正在使用的相關代碼。 –
@Gargob在迴應你的編輯時:'make'默認是正確的。我們不知道您是如何配置它的。 –