2011-08-04 1 views
0

. 이전 답변에서 발견 한 이유는 포함하는 경우 잘못된 구성입니다. 다음은 코드에 포함 된 내용입니다.정의되지 않은 참조 : __ default_alloc_template <true, 0> :: 할당 취소 (무효 *, 부호없는 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

헤더가 누락되었을 수 있습니다. 또는 gcc로 컴파일하고 g ++로 컴파일하지 않았을 수 있습니다. –

+0

몇 가지 비고 : C++에서''과''을''과''으로하고,'#include FT_FREETYPE_H'가 잘못되었으므로'#ifndef WIN32'가 잘못되었습니다 : 대신 _WIN32를 사용하십시오. – rubenvb

답변

0

아마도 을 컴파일하고 대신gcc으로 연결하고있을 것입니다. 편집을 위해서는 별다른 차이가 없습니다. GCC는 파일 확장자를 사용하여 실제 언어를 추측하지만, 링크 할 때 g++은 일반적으로 할당자가 정의되는 C++ 표준 라이브러리를 가져옵니다.

+0

친애하는 rubenvb, 감사합니다. 나는 당신이 코멘트에서 추천하고 도구가 연결되도록 헤더를 변경했습니다! –