реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Makefile в WinAVR, Как подключить файлы внешней библиотеки
RomanRom
сообщение Feb 23 2007, 14:10
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 231
Регистрация: 14-02-05
Пользователь №: 2 635



Задача следующая. Имеется проект WinAVR, в котором основные файлы Си и h находятся в одной папке, а подключаемые библиотечные - в папке с точно заданным адресом, например, C:\AVRLIB\Atmega\
Как правильно указать подключение библиотечных файлов в Makefile
SRC = my.c $(TARGET).c C:/AVRLIB/Atmega/lib
Правда при этом компилятор выдает ошибки
Go to the top of the page
 
+Quote Post
gormih
сообщение Feb 23 2007, 15:31
Сообщение #2


nofb
***

Группа: Свой
Сообщений: 430
Регистрация: 18-05-06
Из: Москва, Зеленоград
Пользователь №: 17 218



Цитата(RomanRom @ Feb 23 2007, 14:10) *
Задача следующая. Имеется проект WinAVR, в котором основные файлы Си и h находятся в одной папке, а подключаемые библиотечные - в папке с точно заданным адресом, например, C:\AVRLIB\Atmega\
Как правильно указать подключение библиотечных файлов в Makefile
SRC = my.c $(TARGET).c C:/AVRLIB/Atmega/lib
Правда при этом компилятор выдает ошибки




Разве библиотеки подключаются в makefile??

Я конечно не знаток конкретно winavr, но вообще файлы в проект по стандартам языка СИ подключаются директивой include

blink.gif


--------------------
Это не то что вы подумали ...

Go to the top of the page
 
+Quote Post
RomanRom
сообщение Feb 23 2007, 16:34
Сообщение #3


Местный
***

Группа: Участник
Сообщений: 231
Регистрация: 14-02-05
Пользователь №: 2 635



Уточню. Библиотечные файлы - это имеются в виду Си-файлы и h-файлы из своей собственной библиотеки (не встроенной в WinAVR)
Go to the top of the page
 
+Quote Post
big256
сообщение Feb 23 2007, 16:51
Сообщение #4


Участник
*

Группа: Новичок
Сообщений: 15
Регистрация: 9-08-05
Из: Киев-Борисполь
Пользователь №: 7 472



У меня например так:



OBJ = main.o file1.o file2.o file3.o

all: $(PRG).elf lst text eep

$(PRG).elf: $(OBJ)
$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^ $(LIBS)


где как ты понимаеш file1.o file2.o file3.o это и есть свои либы.

кстате в ..\winavr\sample\ есть makefile довольно познавательный wink.gif

Сообщение отредактировал big256 - Feb 23 2007, 16:53
Go to the top of the page
 
+Quote Post
big256
сообщение Feb 23 2007, 17:09
Сообщение #5


Участник
*

Группа: Новичок
Сообщений: 15
Регистрация: 9-08-05
Из: Киев-Борисполь
Пользователь №: 7 472



Толькошто проверял такую схему:

есть каталог /main/

в нем например /i2c/
и там соотв файлы i2c.c i2c.h

чтобы заинклюдить i2c.* в файлы из каталога /main/
пишем в них #include "i2c/i2c.h"

также в мейкфайле прописуем

OBJ = main.o ./i2c/i2c.o

и все собирается!

если же вам надо заинклудить в i2c файлики из /main/ то пишем
#include "../file_iz_papki_main.h"
Go to the top of the page
 
+Quote Post
RomanRom
сообщение Feb 26 2007, 18:09
Сообщение #6


Местный
***

Группа: Участник
Сообщений: 231
Регистрация: 14-02-05
Пользователь №: 2 635



Спасибо за ответы. По OBJ все понятно. Только мой вопрос был о том, как сделать связку файлов именно через SRC. Получается, что пока никак?
Go to the top of the page
 
+Quote Post
beer_warrior
сообщение Feb 26 2007, 18:42
Сообщение #7


Профессионал
*****

Группа: Свой
Сообщений: 1 065
Регистрация: 8-10-05
Из: Kiev, UA
Пользователь №: 9 380



Цитата
Только мой вопрос был о том, как сделать связку файлов именно через SRC.

А в чем проблема?
SRC+=myfile.c
хидеры повключать через #include
или
EXTRAINCDIRS = c:/mylib
CINCS = myfile.h


--------------------
Вони шукають те, чого нема,
Щоб довести, що його не існує.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 25th June 2025 - 04:00
Рейтинг@Mail.ru


Страница сгенерированна за 0.01377 секунд с 7
ELECTRONIX ©2004-2016