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

 
 
> Как правильно добавлять header файлы в Keil?, линкер ругается
NaughtyFreak
сообщение Dec 11 2012, 20:36
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 90
Регистрация: 7-10-11
Из: Москва
Пользователь №: 67 593



Всем ДВС!

Делаю проект в Keil uVision 4.60. Разбил его на составные сорцы + хидеры к ним. по инстр-ии добавляю для каждой группы файлов Add files to group свои сорцы (в них проинклюжены их хидеры), прописываю в св-вах папки Include Path, но линкер всё равно ругается, приходится заголовки все равно сохранять в той же куче где мэйн. Из-за этого там такой бардак получается... В мэйне есессна хидеры иклюжу. Подскажите пжлст панацею, м.б. скрипт для линкера какой другой или я чего не правильно делаю

З.Ы. глюкнула клава, модераторы пжлст снесите лишнюю тему. спс!

Сообщение отредактировал NaughtyFreak - Dec 11 2012, 20:37
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 6)
_NB
сообщение Dec 11 2012, 21:10
Сообщение #2


Частый гость
**

Группа: Свой
Сообщений: 92
Регистрация: 22-06-05
Из: Украина, г.Боярка
Пользователь №: 6 238



Цитата(NaughtyFreak @ Dec 11 2012, 22:36) *
Всем ДВС!

прописываю в св-вах папки Include Path, но линкер всё равно ругается,
...
м.б. скрипт для линкера какой другой или я чего не правильно делаю

Что-то не совсем понятно что и куда Вы прописываете. Посмотрите примеры от Keil. Скрипт здесь непричём.

Сообщение отредактировал _NB - Dec 11 2012, 21:14
Go to the top of the page
 
+Quote Post
011119xx
сообщение Dec 12 2012, 02:52
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 381
Регистрация: 5-07-05
Из: Уфа
Пользователь №: 6 544



Для того, чтобы компилятор находил хидеры нужно зайти в "Target Options", потом на страницу "С/С++", нажать на кнопку "..." около строки ввода Include Paths и ввести пути ко всем хидерам.
Go to the top of the page
 
+Quote Post
NaughtyFreak
сообщение Dec 12 2012, 07:46
Сообщение #4


Частый гость
**

Группа: Участник
Сообщений: 90
Регистрация: 7-10-11
Из: Москва
Пользователь №: 67 593



Попробовал, теперь вобще пишет
assembling startup_stm32f4xx.s...
compiling system_stm32f4xx.c...
system_stm32f4xx.c: Error: C3065E: type of input file 'SPL\STM32F4xx_DSP_StdPeriph_Lib_V1.0.1\Libraries\STM32F4xx_StdPeriph_Driver\inc' unknown
system_stm32f4xx.c: Error: C3065E: type of input file 'driver' unknown
system_stm32f4xx.c: Error: C3065E: type of input file 'driver' unknown
Target not created
Go to the top of the page
 
+Quote Post
011119xx
сообщение Dec 12 2012, 08:39
Сообщение #5


Местный
***

Группа: Свой
Сообщений: 381
Регистрация: 5-07-05
Из: Уфа
Пользователь №: 6 544



Закатай проект в архив и сюда, посмотрим
Go to the top of the page
 
+Quote Post
NaughtyFreak
сообщение Dec 28 2012, 07:25
Сообщение #6


Частый гость
**

Группа: Участник
Сообщений: 90
Регистрация: 7-10-11
Из: Москва
Пользователь №: 67 593



Не прошло и года, разобрался сам.
Через св-ва папок с сорцами добавляем Include path и всё работает. используемые в мейне хидеры кидаем в папку к мейну, всё просто.

Сообщение отредактировал NaughtyFreak - Dec 28 2012, 07:26
Go to the top of the page
 
+Quote Post
toweroff
сообщение Dec 28 2012, 20:32
Сообщение #7


Гуру
******

Группа: Свой
Сообщений: 2 957
Регистрация: 19-09-06
Из: Москва
Пользователь №: 20 514



Ужас какой-то blink.gif
Пост №3 http://electronix.ru/forum/index.php?showt...t&p=1119942

Каждый хидер уписываем в такую конструкцию:
Код
#ifndef __HEADER1_H__
#define __HEADER1_H__

// Определения header1.h

#endif

Код
#ifndef __HEADER2_H__
#define __HEADER2_H__

// Определения header2.h

#endif

Код
#ifndef __HEADER3_H__
#define __HEADER3_H__

// Определения header3.h

#endif


и т.д.

Все лежит на своих местах и ничего никуда сваливать не надо
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 16:56
Рейтинг@Mail.ru


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