2009-11-21 8 views
1

배경 : 현재 iMac에서 GCC (CrossPack-AVR)로 이동중인 Keil C51.GCC 코드 스 니펫 경로

마이크로 용 펌웨어를 작성하기 때문에 프로그램에 포함해야 할 '드라이버'소스 파일 등이 많습니다. LCD 드라이버, 즉 코드 재사용. 이 코드 스 니펫 (.c 및 .h 파일)은 /snippets/ 폴더의 하위 폴더 (예 : /snippets/lcd/)에 있습니다. 내 /snippets/은 프로젝트 또는 응용 프로그램을위한 /projects/ 폴더가있는 폴더에 있어야했습니다. 나는 그것을 라이브러리에 넣는 것을 고려해 봤지만 여러 가지 아키텍처를 사용하므로 항상 작동하지는 않습니다.

질문 : 포함 된 스 니펫의 소스 파일이 다시 컴파일되도록 다양한 #include 경로 등에서 스 니펫에 대한 절대 경로를 지정하지 않고 어떻게 GCC에서이를 설정할 수 있습니까? 그것을 사용하거나 포함하는 프로젝트와 함께? 따라서 코드 조각을 향상 시키면 이후에 컴파일/다시 컴파일되는 모든 프로젝트에 도움이됩니까?

Google에서 둘러 보았지만 잘못된 검색어를 사용해야합니다.

감사합니다.

+0

오른쪽 질문이 맞는지 잘 모르겠다 : 스 니펫 (.c)과 해당 포함 파일 (.h)이 있고 현재 프로젝트에 포함 된 경우 GCC에서 변경된 스 니펫을 다시 컴파일해야합니다. 권리? – f3lix

+0

각기 다른 하드웨어 (LCD, DUART, Keypad ..)에 대한 많은 C 소스 파일 (& h 파일)이 있습니다. 각각은 자신의 폴더 (/ lcd/duart/keypad)에 있습니다. 이 모든 것들이/snippets라는 폴더에 있으며,이 폴더는/dev 폴더에 있습니다. 또한/dev에는/projects 폴더가 있습니다. 그래서, 제가 프로젝트에서 일하고 있다면. 로봇에는 로봇 응용 프로그램을 구성하는 파일이 들어있는/dev/projects/robot이라는 폴더가 있습니다. 그러나 로봇이 LCD를 필요로한다면 절대 경로 (예 : $ SNIPPETPATH ​​/ lcd/lcd.h)를 지정하지 않고 /dev/snippets/lcd/lcd.h와 lcd.c를 포함하도록 gcc에 지시하려면 어떻게해야합니까? – Joe

답변

0

나는 파일이 트릭을 할 것이라고 생각한다.