?>

Hard Copy World

HCW

Q&A

Home > Forum >

Q&A

서브파일에서 기본 라이브러리

페이지 정보

작성자 몰라무서워 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 작성일15-09-02 16:37 조회2,646회 댓글5건

본문

안녕하세요 사이트에서 많이 배우고 있어요

제가 어떤 프로젝트를 하는데 첨부터 막혀서 질문드립니다

ino 파일에서 .h 파일을 불러오는 건데 .h파일에서 기본라이브러리를 못불러오네요

 

<<<main.ino>>>

#include "effect.h"

void setup() {

// put your setup code here, to run once:

}

void loop() {

// put your main code here, to run repeatedly:

}

 

<<effect.h>>

#ifndef _EFFECT_

#define _EFFECT_

#include <SD.h> //<== 요게 안돼요 (No such file or directory 이렇게..)

class Effect{

};

#endif

 

main.ino 에서는 기본라이브러리가 불러지는데 서브파일인 effect.h 에서는 기본라이브러리가 안불러와져요

어떻게 해야 불러와질까요?  도움 부탁드립니다 (- -) (_ _)

댓글목록

최고관리자님의 댓글

최고관리자 쪽지보내기 메일보내기 홈페이지 자기소개 아이디로 검색 전체게시물 작성일

아래 링크로 답변을 대신해야 겠네요. 링크에 나온 방법으로 테스트 해보세요.
https://github.com/platformio/platformio/issues/136

몰라무서워님의 댓글

몰라무서워 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 댓글의 댓글 작성일

답변감사합니다.
그런데 SD.h의 사용방법을 여쭤본게 아니라요
라이브러리 폴더(c:\users\사용자명\Documents\Arduino\libraries\추가라이브러리) 에 외부 라이브러리를 넣으면 ino 파일에서는 #include <라이브러리명>  이게 되는데 ino 파일의 서브파일인 cpp 나 h 파일에서는 #include <라이브러리명>  이게 안됩니다.
------------------------------
라이브러리명.h: No such file or directory
------------------------------
이렇게 나와요.

지금 프로젝트 구조가
main.ino 에서 서브파일들을 #include "서브파일.h"  이런식으로 불러와서 쓰는데요
main.ino 에서는 라이브러리를 불러오는데
서브파일.h 에서는 라이브러리가 인클루드가 안됩니다.
아두이노 프로그램은 파일한개에서 다 해야 하나요?
워낙 덩치가 큰 프로젝트라 파일하나에서 하기가 힘들어요 ㅜㅜ
탭으로 나누기도 애매한 상황이고...

서브파일에서 라이브러리 인클루드 하는 방법 좀 가르쳐 주세요
지금 거의 일주일째 이것 때문에 진도를 못나가고 있어요.
제발 살려주세요 관리자님 ㅜㅜ

최고관리자님의 댓글

최고관리자 쪽지보내기 메일보내기 홈페이지 자기소개 아이디로 검색 전체게시물 작성일

1. main.ino 파일에서 effect.h 파일 불러오기 전에 원하는 라이브러리 헤더 파일을 한번 불러주세요.
#include <SD.h>
2. 이것도 안되면.. 아예 현재 소스코드가 있는 폴더부터 SD.h 파일이 있는 곳까지 상대경로를 지정해서 불러와보세요.
#include <../../../../libraries/SD/SD.h>

http://forum.arduino.cc/index.php?topic=49250.0

몰라무서워님의 댓글

몰라무서워 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 댓글의 댓글 작성일

죄송합니다.  질문해놓고 이제서야 봤네요.
희안하게 서브파일에서는 따옴표로 하니까 됩니다.
도대체 컴파일할때 어찌하길래 이렇게 되는건지 ㅠㅠ
암튼 되긴 되네요
관리자님 감사합니다.  사랑해요~