2013-09-06 3 views

답변

0
  1. clang/lib/Basic/FileManager.cpp

    enter image description here가 정의 sys/stat.h를 포함 #define stat _stat64i32 (실제로는 거기에 몇 가지 다른 정의하는 사이에,하지만 당신은 아이디어를 얻을;)

  2. clang/include/clang/Basic/FileManager.hsys/stat.h을 포함하지 않습니다. 대신 전달 선언 만 있습니다. 헤더를 구문 분석하는 동안
  3. 따라서, 전방 선언 (struct stat)
  4. 을 사용하지만 마침내 구현에 도착했을 때, 프리 프로세서는 킥과 struct stat64i32struct stat을 대체합니다. 따라서 불일치.

가장 좋은 해결책은 헤더의 전달 선언을 변경하여 sys/stat.h을 포함하는 것입니다. (나는 실제로 컴파일 할 것인지 테스트하지 않았다.)

현재 트렁크에 더 이상 코드가 들어 있지 않다.

업데이트 : off64_t에 관한.

#ifndef _OFF64_T_DEFINED               
#define _OFF64_T_DEFINED               
    __MINGW_EXTENSION typedef long long _off64_t;          
#if !defined(NO_OLDNAMES) || defined(_POSIX)                                         
    __MINGW_EXTENSION typedef long long off64_t;          
#endif                    
#endif /*_OFF64_T_DEFINED */ 

그래서 당신은 아마 io.h (또는 stdio.h)

+0

가 대단히 감사합니다 :) 그것은 일을 포함하기 전에 _POSIX를 정의하려면 :이 이러한 일 _mingw_off_t.h에 정의되어 있습니다! 하지만 지금은 98 %의 오류를주고 있습니다. http://tinypic.com/r/jp769c/5 어떻게이 오류를 찾으셨습니까? – ConsistentProgrammer

+0

나는 과거에 mingw에서'sys/stat.h'를 사용하여 주위를 어지럽 혀야했습니다. 그 후 그것은 꽤 분명하고 올바른 장소에서 그것을 찾는 문제였습니다. 오류 메시지를 이미지로 게시하지 마십시오. 그 물건을 복사/붙여 넣기하십시오. – nmaier

+0

이 코드를 붙여야하는 파일은 무엇입니까? – ConsistentProgrammer

관련 문제