답변:
AFAIK는 Arduino IDE에 내장 된 기발한 기능입니다. 내가 생각할 수있는 가장 좋은 해결 방법은 다음과 같은 파일 구조입니다.
ArduinoWorkspace --- /myproj/ ----+ /src/ --------+ myproj.cpp
+ myproj.ino + sensor.h
+ sensor.cpp
+ (more files)
여기서 myproj.cpp는 #include
main.cpp입니다. 이렇게하면 더 일반적인 환경에서도 작동하도록 프로젝트 파일을 "깨끗한"상태로 두어야합니다.
최신 정보:
귀하의 질문에서 "main"이라는 이름을 빌 렸지만 "main"은 예약 된 이름입니다. 특히 모든 C 또는 C ++ 프로그램에는 시스템에서 제공하는 최상위 코드로 main.c 또는 main.cpp가 있습니다. 당신은 하나를 제공하지 않습니다. 그래서 나는 그것을 폴더 이름과 프로젝트 이름으로 사용하지 말고 자유롭게 시도해보십시오. 다이어그램을 업데이트했습니다. 필요한 것은 동일한 이름의 프로젝트 폴더와 .ino 파일입니다. .ino 파일은
#include <src/anything-else-you-like>
예를 들어 최상위 코드 파일과 같이 다른 모든 것을 가져옵니다. 컴파일러가 자체적으로 파악하지 못하면 다른 파일이 #include
있는 src
폴더 의 각 파일에 .ino가 필요할 수 있습니다 .
BTW, 최상위 파일에 main.cpp라는 이름을 사용하는 경우 setup () 및 loop () 함수 (및 사용하는 경우 직렬 이벤트 함수)를 호출해야합니다. 아마도 이름을 'main'으로 남겨두고 시스템이 기본적으로 모든 Arduino 프로그램과 동일한 메인을 제공하고 setup () 및 loop ()로 시작하는 전형적인 Arduino 방식으로 프로젝트 코드를 작성하도록하는 것이 가장 좋습니다.
여러 .INO
파일 로 구성된 프로젝트 가있는 경우 IDE는 "주"파일을 어떻게 알 수 있습니까? 컴파일하는 동안 IDE는 모든 .INO
파일을 하나의 모 놀리 식 파일로 연결 합니다. 이 작업은 "주"항목으로 시작한 다음 다른 항목을 사전 순으로 끝에 추가합니다.
"메인" .INO
파일 에 포함해야하는 포함 및 글로벌 변수 가 완료된 프로그램의 시작에 있도록이 방식으로 수행됩니다 .
이를 위해 IDE는 어떤 파일이 "메인"파일인지 알아야합니다. 그리고 그것이 작동하는 방식은 스케치가있는 폴더와 같은 이름의 것을 찾는 것입니다.
UECIDE 에서는 한 단계 더 나아가 전체 폴더를 복합 문서로 변환 하므로 더 이상 폴더를 입력 .INO
하고 스케치를 열기 위해 파일을 열 필요가 없습니다. 실제 폴더 자체는 전체 스케치 프로젝트입니다. 다시이 종류의 폴더는 폴더 .INO
와 동일한 이름 을 가진 파일이 파일 내에 있는 것으로 식별됩니다 .
myproj.cpp
당신은 의미myproj.ino
합니까? 나는 어디에 있는지 알지 못하기 때문에myproj.cpp
!