bfd.h에 우분투 14.04에 libiberty / ansidecl.h가 포함되어 있어야합니까?


23

binutils 패키지 libiberty.h가로 이동 한 디렉토리가 포함되어 있기 때문에 변경된 것으로 보입니다 /usr/include/libiberty. 따라서 bfd.h관련에 잘못된 포함이있을 수 있습니다 ansidecl.h.

binutils 추적 유틸리티를 사용할 때 컴파일 오류 얻기

/usr/include/libiberty/libiberty.h: In function ‘basename’:
/usr/include/libiberty/libiberty.h:110:38: error: expected declaration specifiers before ‘ATTRIBUTE_RETURNS_NONNULL’
 extern char *basename (const char *) ATTRIBUTE_RETURNS_NONNULL ATTRIBUTE_NONNULL(1); 
                                      ^
/usr/include/libiberty/libiberty.h:121:45: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘ATTRIBUTE_RETURNS_NONNULL’
 extern const char *lbasename (const char *) ATTRIBUTE_RETURNS_NONNULL ATTRIBUTE_NONNULL(1); 
                                             ^
/usr/include/libiberty/libiberty.h:126:49: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘ATTRIBUTE_RETURNS_NONNULL’
 extern const char *dos_lbasename (const char *) ATTRIBUTE_RETURNS_NONNULL ATTRIBUTE_NONNULL(1);
                                                 ^
/usr/include/libiberty/libiberty.h:132:50: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘ATTRIBUTE_RETURNS_NONNULL’
 extern const char *unix_lbasename (const char *) ATTRIBUTE_RETURNS_NONNULL ATTRIBUTE_NONNULL(1);

bfd.h를 포함하도록 변경 하면 /usr/include/libiberty/ansidecl.h모든 컴파일에 문제가 없었습니다.

이 문제에 대한 힌트가 있습니까? 감사.

답변:


1

에 의해 보도 된 바와 같이 에두아르도 Abinader (질문의 저자)와 숀 잭맨버그 58689MSG 00135 교환 데이터에서 결론, 각각 ...

이것은 우분투 시스템에서 오래된 라이브러리 설치로 인한 문제입니다. 우분투 나 binutils의 결함은 아니지만 시스템 업데이트 문제처럼 보입니다. 문제 자체에 해결책이 포함되어 있습니다.




추신 : 그러나 가장 중요한 것은 우리가 그때와 지금 대답을했다는 것입니다. 자세한 내용은 링크를 참조하십시오! 필요한 경우이 답변을 개선하십시오. :)

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.