Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: IAR 5.1 проблема с файлами
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > Cредства разработки для МК > IAR
Beginning
Проект состоит из 10 папок. В первой папке находится файл includes.h. Этот файл присоединялся во всех остальных файлах. В Options/preprocessor следующее данные:
.\App
.\Com
.\Flash
.\Menu
.\PF
.\PIC
.\Sys_calls
.\Sharp
.\PIC_perefiria
.\OS
Т.е. указаны все папки проекта.

В версии 4.42 (как и более древних) всё было OK. В 5.1 файл includes.h подключается только в файлах находящихся в той же папке. Перепробовал различные варианты (”$PROJ_DIR$/ includes.h” и др.) .Указание полного пути помогает, но этот путь мне не подходит. Как мне сделать так, что бы этот файл был виден во всех папках?
diper
В Options/preprocessor указать
$PROJ_DIR$\App

В файлах указывать #include "includes.h"
Beginning
Цитата
В Options/preprocessor указать
$PROJ_DIR$\App


Попробую завтра.
rezident
А с относительными путями разве не работает?
Код
#include "..\App\includes.h"
Николай Z
Цитата(rezident @ Dec 11 2007, 21:26) *
А с относительными путями разве не работает?
Код
#include "..\App\includes.h"


Причем тут директория App?

У товарища написано:
Цитата
(”$PROJ_DIR$/ includes.h” )

заведомо неверно - слэш не в ту сторону... Нужен обратный... Вот такой: "\"
Это - раз...

Во вторых - скорее всего в дирректории $PROJ_DIR$ у него лежит файл проекта...
Если он желает указать в проекте эту же дирректорию, то в трассах поиска надо указать только эту... Т.Е.
$PROJ_DIR$\ и более ничего... никаких includes.h в файлах проекта быть не должно...

тогда файл includes.h будет браться из дирректории $PROJ_DIR$....

Если оно, она, он - лежит глубже - надо указать глубже.... Где - он не написал...
rezident
Цитата(Николай Z @ Dec 12 2007, 02:29) *
Причем тут директория App?
При том, что читаю я именно так, как написано автором.
Цитата(Beginning)
Проект состоит из 10 папок. В первой папке находится файл includes.h.
Попробуйте и вы тоже читать, а не домысливать за автора.
Кроме того, у меня еще не было проблем с явным указанием относительных путей ни в одной версии ИАР.
zltigo
Цитата(Николай Z @ Dec 11 2007, 23:29) *
заведомо неверно - слэш не в ту сторону... Нужен обратный... Вот такой: "\"

Давненько уже вымерли компиляторы не разбирающиеся во слэшах и допускающие исключительно майкрософтовские. Прямые слеши - "прямее" smile.gif их и пользовать.
Beginning
В Options/preprocessor указал следующее

$PROJ_DIR$\App
$PROJ_DIR$\Com
$PROJ_DIR$\Flash
$PROJ_DIR$\Menu
$PROJ_DIR$\PF
$PROJ_DIR$\PIC
$PROJ_DIR$\Sys_calls
$PROJ_DIR$\Sharp
$PROJ_DIR$\PIC_perefiria
$PROJ_DIR$\OS

Во всех файлах #include "includes.h" и всё заработало.

Обидно crying.gif Не хватило шага, что бы разобратся самому.
Николай Z
Цитата(zltigo @ Dec 12 2007, 03:23) *
Давненько уже вымерли компиляторы не разбирающиеся во слэшах и допускающие исключительно майкрософтовские. Прямые слеши - "прямее" smile.gif их и пользовать.


Ну в любом случае - прямые ли, обратные ли они но только сам файл includes.h в проекте по любому указывать не нужно... Нужно указывать директорию - тогда и в тексте программы не нужно будет длинные относительные директории выписывать...
И будет достаточно написать:

#include "bla_bla_bla.h"
diper
Цитата(Николай Z @ Dec 12 2007, 13:01) *
Ну в любом случае - прямые ли, обратные ли они но только сам файл includes.h в проекте по любому указывать не нужно...
Этого ни кто не предлагал и автор топика этого не делал.
Цитата(Николай Z @ Dec 12 2007, 13:01) *
Нужно указывать директорию - тогда и в тексте программы не нужно будет длинные относительные директории выписывать...И будет достаточно написать:#include "bla_bla_bla.h"
Загонять _абсолютно все_ каталоги в настройки компилятора не нужно. ТОлько при разумной необходимости. Особенно при пользовании чужих библиотек, когда можно наткнуться на .h файлы с одинаковыми именами.
Николай Z
Цитата(diper @ Dec 12 2007, 13:40) *
Этого ни кто не предлагал и автор топика этого не делал.

Не знаю что он делал, но вы прочтите чуть внимательнее конец топа - вот этот:
Цитата
Перепробовал различные варианты (”$PROJ_DIR$/ includes.h” и др.) .Указание полного пути помогает, но этот путь мне не подходит.

Собственно спорить-то больше не о чем - автор достиг консенсуса с самим собой и со своим компилятором...
cool.gif
Цитата(diper @ Dec 12 2007, 13:40) *
Загонять _абсолютно все_ каталоги в настройки компилятора не нужно. ТОлько при разумной необходимости. Особенно при пользовании чужих библиотек, когда можно наткнуться на .h файлы с одинаковыми именами.

А разве кто-то предлагает все?
Загонять нужно те - которые нужны...
Ну а одинаковых имен у разных файлов в разных директориях - вообще говоря лучше избегать.
Не так уж это и сложно - сменить имя у файла.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.