반응형

에러 디버깅  아두이노 스케치 IDE 사용중 'WProgram.h ' 라이브러리 에러 발생!

 

『 아두이노 실행시 라이브러리를 설치해도 아래와 같은 라이브러리 에러가 발생했을 때 대처방법입니다 』

에러 발생 이미지

 

- 아래는 에러가 발생된 맨처음 상황의 화면입니다.
1. 적외선 리모트 센서를 구동시키기 위한 코드를 컴파일 해보았는데요,
아래와 같은 IRremote.h 센서 에러가 발생하였네요.


 2. 그래서 해당 IRremote.h 헤더파일이 포함된 라이브러리를 찾아 다운받고 다시 실행시켰는데, 아래와 같은 에러가 다시 발생했습니다.  그런데, 이상한 점은 화면 위쪽 아두이노 코드에 보이는 "IRremote.h" 헤더파일을 설치했음에도 프로그램 코드에서 사용되지 않은 헤더파일을 요구하며 에러를 띄우는 모습입니다.

 그 이유는 'IRremote.h"파일(라이브러리)속에 'WProgram.h' 파일을 요구하는 코드가 있기 때문인데요 결론적으로 'WProgram.h'파일이 없기 때문에 에러를 띄우는 것입니다.
'WProgram.h'헤더 파일은 Arduino IDE 툴의 초기버전에서 기본적으로 사용되던 디폴트 파일인데요.
Arduino IDE 버전이 업그레드 되면서 현재는 'WProgram.h' 대신 'Arduino.h'헤더파일을 사용해요.
따라서 그런 오래된 버전에서 제작된 라이브러리의 경우 'WProgram.h'를 사용했기 때문에 , 
지금의 Arduino IDE 버전에서 그런 라이브러리를 사용하게 되면 에러가 뜨게 됩니다.
『 해결방법은 코드에서 사용하려는 라이브러리를('IRremoteInt.h') 열어서 ,
  'WProgram.h'사용 된 코드부분을 찾아 'Arduino.h'로 변경해 주면 해결됩니다. 』 

3. 그럼 직접 해결하는 방법을 보여드릴게요.
먼저, 탐색창을 열고 경로를 참고하여 에러가 난 헤더파일 위치를 찾아가서 헤더파일을 열어보겠습니다.

이미지를 클릭하면 확대 됩니다~!

 

4.  아래처럼 'WProgram.h'헤더파일이 있을 만한 xxxx.h 파일을 모두 열어서 찾아보세요. 

이미지를 클릭하면 확대 됩니다~!


5.  아래 처럼, 'WProgram.h'를 'Arduino.h'로 바꾸어 주고 저장후 창을 닫으면 됩니다.

이미지를 클릭하면 확대 됩니다~!



6. 자 그럼, 에러를 띄웠던 아두이노 코드를 실행시켜 보면, 아래처럼 에러가 해결 되고 코드실행이 잘 되게 됩니다. 

이미지를 클릭하면 확대 됩니다~!



[ 아래 직접 해결하는 영상을 함께 참고해 보세요. ]

에러 해결 영상 : RasIno YouTube 

 

 

 

반응형