2013-03-25 7 views
0

나는 Cmake 등을 사용하여 의 VxWorks 6.8에 대한 라이브러리를 컴파일 할 이클립스 3.7 인디고 CDT (Vx 웍스 펜티엄 컴파일러 설정 및 파워 PC 포함). cmake 단계가 잘 작동하고 즉시 사용할 수있는 Eclipse 프로젝트를 얻습니다. 그러나 누락 된 헤더 때문에 컴파일이 실패합니다.Vx 웍스 - 헤더 파일이 누락은

예 :

#if defined __VXWORKS__ 
#include <sys/socket.h> 
// some more includes here 
#endif 

sys/socket.h이 없기 때문에이 실패합니다. C:/<path to vxworks>/target/h 디렉토리가 포함되어 있습니다 (sys 디렉토리 포함). socket.h입니다.)가 설정되어 있습니다. 누락 된 socket.hC:/<path to vxworks>/target/h/wrn/coreip/sys입니다. 두 경로 모두 포함 디렉토리로 설정되지만 그럼에도 불구하고 아직 누락되었습니다. target/h의 적절한 하위 디렉토리에 저장 만 target/h/wrn/coreip의 실제 헤더를 포함하는 헤더 -

"더미 헤더"을 쓰기 시작했습니다. 이 솔루션은 작동하지만이 머리글에는 더 많은 머리글이 포함되어 있으므로 해결 방법이 필요합니다 (그리고 새로운 머리글이 필요합니다 ...). 이클립스에서 설정된 경로를 포함하여 작동하지 않는 이유가 궁금합니다.

VxWorks의 대부분의 헤더에는이 문제가 없습니다. 그것은 단지 네트워크를위한 것 같습니다.

마법 트릭이 있습니까 또는 뭔가요?


누락 된 헤더 오류 메시지 : 컴파일하는 동안 내가 얻을

error: sys/socket.h: No such file or directory

경고 :

[vxworks path here]/h/vsbConfig.h:42:2: warning: #warning "VxWorks Source Build (VSB) project not specified; using default VxWorks UP configuration under $WIND_BASE/target/lib/h/config"

하여 환경 WIND_BASE, WIND_HOMEWIND_LIC_PROXY은 일식에서 설정됩니다.

Win7에서 크로스 컴파일입니다.

답변

2

eclipse에서 디렉토리를 포함 할 경로를 추가하는 것만으로는 충분하지 않습니다. cmakelists에도이 값을 추가해야합니다. 그렇게하려면 include_directories("[your path here]")을 사용할 수 있습니다.

+0

감사합니다. 이제 모든 헤더를 사용할 수 있습니다. – ollo

관련 문제