2011-08-04 17 views
0

私はエラー
undefined reference to 'std::__default_alloc_template<true, 0>::deallocate(void*, unsigned int)'
を以下の取得私は、いくつかのグラム++コンパイラを試してみましたが、何も変わりません。私が以前の答えで見つけた理由は、含まれていると間違った構成です。コードには次のものが含まれています:未定義の参照:: __ default_alloc_template <true, 0> :: DEALLOCATE(ボイド*、unsigned int型)」

#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

おそらくヘッダーがありません。 g ++ではなくg ++でコンパイルしているかもしれません。 –

+0

いくつかの注意点:C++では ''と ''を ''と ''に置き換えてください。 '#include FT_FREETYPE_H'は間違っています。' #ifndef WIN32'は間違っています。 – rubenvb

答えて

0

おそらくをコンパイルし、g++の代わりにgccをリンクしている可能性があります。編集のために、それほど大きな違いはありません。 GCCはファイル拡張子を使用して実際の言語を推測しますが、リンク時にはg++もC++標準ライブラリ(通常はアロケータが定義されています)を取得します。

+0

rubenvb様、ありがとうございます。あなたがコメントで推薦するようにヘッダーを変更し、ツールをリンクさせました! –