2011-08-04 38 views
0

在Ubuntu上的鏈接代碼我獲得以下錯誤
undefined reference to 'std::__default_alloc_template<true, 0>::deallocate(void*, unsigned int)'
我試過幾個G ++編譯器,但沒有任何變化。我在之前的答案中找到的原因是錯誤的配置,如果包含。這裏包括代碼:未定義的引用'的std :: __ default_alloc_template <true, 0> :: DEALLOCATE(無效*,無符號整型)」

#pragma warning(disable:4786) 

#include <stdio.h> 
#include <map> 
#include <string> 
#include <vector> 
#include <png.h> 
#include <math.h> 
#include <ft2build.h> 
#include <gd.h> 
#include FT_FREETYPE_H 

using namespace std; 

#ifndef WIN32 
#define stricmp strcasecmp 
#else 
#include <io.h> 
#include <fcntl.h> 
#endif 

請幫助解決這些包括?

+0

您可能錯過了標題。或者你可能正在編譯gcc而不是g ++。 –

+0

一些註釋:在C++中''和''和''到''和'','#include FT_FREETYPE_H'錯誤,#ifndef WIN32錯誤:使用_WIN32代替。 – rubenvb

回答

0

您可能正在編譯並鏈接gcc而不是g++。對於編譯,沒有太大的區別。 GCC使用文件擴展名來猜測真實的語言,但是當鏈接時,g++也會引入C++標準庫,這是通常定義分配器的地方。

+0

親愛的rubenvb,謝謝。我按照您在評論中推薦的方式更改了標題並獲取了鏈接工具! –

相關問題