분명 고3일 때 하라는 공부는 안 하고 블로그에 글을 쓰고 있었는데, 정신차려보니 어느덧 군 복무도 끝나가고 있습니다.
    새로운 마음으로 공부하고 작업한 내용을 기록하고자 새 Jekyll 블로그를 만들었습니다.

    댓글을 쓰셔도 보기가 어려우니, 불편하시더라도 궁금한 점은 옮긴 새 블로그에 댓글로 달아 주시면 성심성의껏 답변해 드리겠습니다. 감사합니다.
    2021년 2월 14일

    새 블로그 주소는 https://luftaquila.io입니다.
     

    LUFT - AQUILA

    A sky sailing Electron.

    luftaquila.io




    컴파일 에러는 언제 어디서나 때를 가리지 않고 발목을 잡습니다.

    프로그래밍을 하는 사람이라면 한 번쯤은 머리를 쥐어뜯으면서 아 왜 안되는데!!! 를 외치고 있는 자신을 발견할 수 있죠.


    특히 각종 라이브러리를 이용해야 할 때가 많은 아두이노의 경우에는 라이브러리 에러를 자주 만나게 되는 편입니다.


    그런 의미에서 오늘은 라이브러리 관련 컴파일 에러를 죄다 때려잡아 보도록 하겠습니다.


    대표적으로 생기는 라이브러리 관련 에러는 다음과 같습니다.

    라이브러리 없음 / 중복 존재 / 잘못된 라이브러리 등등...

    하나하나씩 해결해 보죠.


    우선 라이브러리가 없을 때 발생하는 에러입니다. 라이브러리를 추가하는 방법도 여기 있습니다.

    정전용량 센서로 한 번 테스트를 해 보도록 하죠. 간단한 테스트 예제입니다.

    #include <CapacitiveSensor.h>
    
    CapacitiveSensor   cs_4_2 = CapacitiveSensor(4,2);
    CapacitiveSensor   cs_4_6 = CapacitiveSensor(4,6);
    CapacitiveSensor   cs_4_8 = CapacitiveSensor(4,8);
    
    void setup()                    
    {
       cs_4_2.set_CS_AutocaL_Millis(0xFFFFFFFF);
       Serial.begin(9600);
    }
    
    void loop()                    
    {
        long start = millis();
        long total1 =  cs_4_2.capacitiveSensor(30);
        long total2 =  cs_4_6.capacitiveSensor(30);
        long total3 =  cs_4_8.capacitiveSensor(30);
    
        Serial.print(millis() - start);
        Serial.print("\t");
    
        Serial.print(total1);
        Serial.print("\t");
        Serial.print(total2);
        Serial.print("\t");
        Serial.println(total3);
    
        delay(10);
    }


    이제 이걸 한번 컴파일해 보겠습니다.

    ... 당연히 될 리가 없죠. 다음과 같은 에러가 발생합니다.




     fatal error: CapacitiveSensor.h: No such file or directory

     #include <CapacitiveSensor.h>


    compilation terminated.

    exit status 1


    이런 내용의 에러가 발생합니다.
    include하라고 명령한 CapacitiveSensor.h 같은 건 나한테 없다! 라는 거죠.

    추가하는 방법도 간단합니다.
    구글에 (필요한 라이브러리 이름) download라고만 검색하시면 다운로드 링크들이 나옵니다.

    아무 링크나 골라잡고 들어가시면 페이지 어딘가에 다운로드 버튼이 있을 겁니다.

    다운로드하시면 .zip 확장자로 다운이 되는데요.



    이제 아두이노에 들어가셔서, 라이브러리 포함하기 - .ZIP 라이브러리 추가 를 선택해 주세요.


    아까 다운하신 .zip 파일을 선택하시면 끝입니다.



    추가하기 전에는 이렇게 검은 글씨로 나오던 관련 함수들이,



    추가한 후에는 라이브러리가 추가되었다는 메시지와 함께 주황 글씨로 표시되는 것을 확인하실 수 있습니다.




    다음으로 라이브러리 파일이 잘못되었을 경우에 발생하는 에러입니다.


    이렇게 유효한 라이브러리가 포함되어 있지 않다고 나오는 경우엔, 포함시킨 .zip파일이 손상된 경우입니다.

    간단하게 삭제하고 다시 다운받아서 포함시켜 보세요.


    그래도 같은 에러가 발생한다면 그건 그냥 그 파일 자체가 문제가 있는 경우이니, 다른 링크에서 다운하셔야 합니다.



    Posted by LUFT - AQUILA