2014-03-30 2 views
0

그냥 설치 MPLAB X에서 BYTE '유형의 필드에 대한 무시와 내가 일하고 있어요 프로젝트를 수입했다. 이 오류가 발생하고 응용 프로그램 라이브러리 파일이기 때문에 수정할 필요가 없습니다. 그것을 참조하는 코드는 다음과 같습니다MPLAB X 오류, usb_hal_pic24.h

// BDT Entry Layout 
typedef union __BDT 
{ 
union 
{ 
    struct 
    { 
     BYTE CNT   __attribute__ ((packed)); 
     BD_STAT  STAT __attribute__ ((packed)); 
    }; 
    struct 
    { 
     WORD  count:10; //test 
     BYTE  :6; 
     WORD  ADR; //Buffer Address 
     }; 
    }; 
    DWORD   Val; 
    WORD   v[2]; 
} BDT_ENTRY; 
내가 컴파일 할 수 있도록이 또는 내 설정을 수정하는 방법을 알고 싶습니다

. MPLAB에서이 오류가 발생하지 않습니다.

답변

0

__attribute__ ((packed))은 주석 처리하는 것이 안전합니다.

// BDT Entry Layout 
typedef union __BDT 
{ 
    union 
    { 
     struct 
     { 
      BYTE CNT ; //__attribute__ ((packed)); suppress compiler warnings 
      BD_STAT  STAT __attribute__ ((packed)); 
     }; 
     struct 
     { 
      WORD  count:10; //test 
      BYTE  :6; 
      WORD  ADR; //Buffer Address 
     }; 
    }; 
    DWORD   Val; 
    WORD   v[2]; 
} BDT_ENTRY; 

컴파일하기 위해 USB 하드웨어 추상화 레이어를 수정해야했습니다.

관련 문제