질문의 스크린 샷은 당신이 당신의 라이브러리의 헤더 파일을 찾기 위해 컴파일러 구성을 보여준다. 하지만 컴파일러를 사용하여 라이브러리 함수 (예 : initUSART)를 컴파일하고 정적 라이브러리 파일 (lib
접두사 및 .a
확장자)을 만들어야합니다. 별도의 Atmel Studio 프로젝트가 필요하거나 IDE 외부에서 AVR GCC 툴체인을 사용하여 라이브러리를 컴파일하는 방법을 배우십시오. 그런 다음 라이브러리에 대한 링커의 검색 경로에있는 디렉토리에 해당 파일을 저장해야하며 적절한 -l
인수를 링커에 전달해야합니다. 예를 들어, 라이브러리가 libuart.a
이라면, -luart
을 링커에 전달해야합니다. Atmel Studio 프로젝트의 프로젝트 속성에는 구성해야 할 관련 설정이 있습니다.
GCC는 위에서 요약 한 정적 라이브러리를 컴파일, 작성 및 링크하는 표준 방법을 가지고 있습니다. GCC 정적 라이브러리의 튜토리얼에서 그 내용을 배울 수 있습니다. 그 지식을 AVR GCC toolchain에 적용하고, Atmel Studio에서 설정할 필요가있는 적절한 옵션을 찾아야합니다.
옆 : Atmel Studio는 라이브러리를 전혀 사용하지 않습니다. Arduino IDE는 라이브러리의 소스 파일을 올바른 위치에 놓고 컴파일하기 때문에 훨씬 더 잘 작동합니다. 수많은 Arduino 라이브러리가 있습니다. Arduino 플랫폼을 사용할 수 있다면 자신의 UART 드라이버를 작성할 필요가 없습니다.
간단한 대안 : C 라이브러리를 컴파일하고 링크하고 IDE를 구성하는 것에 대해 잘 모르는 경우 라이브러리 파일을 프로젝트에 복사하고 소스 파일로 추가하는 것이 훨씬 쉽습니다. 프로젝트의 다른 소스 파일과 마찬가지로 Atmel Studio에서 컴파일 할 수 있습니다.