|
|
  |
Как прописать путь к файлу?, IAR AVR |
|
|
|
Oct 16 2007, 22:38
|

Местный
  
Группа: Свой
Сообщений: 479
Регистрация: 8-05-07
Из: г. Ставрополь. Северный Кавказ. Россия
Пользователь №: 27 606

|
Доброго времени суток Уважаемые. Есть 2 проэкта с одним kommand_descript.h Пытаюсь поставить полный путь, в ответ получаю ругань. Можно ли как в досе? Типа не весь путь а только переход из папки в папку. Правда напрочь забыл, как это в досе делается. Желательно типа так: с:\xx\xx\трагет_фолдер\проэкт1\ сдесь лежит весь проэкт1 с:\xx\xx\трагет_фолдер\проэкт2\ сдесь лежит весь проэкт2 с:\xx\xx\трагет_фолдер\общие_файлы\ сдеесь лежит kommand_descript.h Сильно не пинайте. Спасибо!
Сообщение отредактировал Т.Достоевский - Oct 16 2007, 23:01
|
|
|
|
|
Oct 17 2007, 02:49
|

Adept
     
Группа: Свой
Сообщений: 3 469
Регистрация: 6-12-04
Из: Novosibirsk
Пользователь №: 1 343

|
Для того, чтобы компилятор находил заголовочные файлы, находящиеся не в той же директории, что и исходные, нужно указать ему путь к ним. Для этого служит ключ командной строки -I. Указать можно, также, и в опциях оболочки - вкладка там есть для этого в опциях компилятора, где можно прописать пути. По умолчанию там прописаны пути к системным заголовкам (которые идут в составе пакета). Добавьте там свой путь и все. Подробности в документации, там все есть, хотя что-то принципиально новое к уже сказанному там вряд ли найдется.
--------------------
«Отыщи всему начало, и ты многое поймёшь» К. Прутков
|
|
|
|
|
Oct 17 2007, 03:59
|

Местный
  
Группа: Свой
Сообщений: 479
Регистрация: 8-05-07
Из: г. Ставрополь. Северный Кавказ. Россия
Пользователь №: 27 606

|
Цитата(dxp @ Oct 17 2007, 06:49)  Для того, чтобы компилятор находил заголовочные файлы, находящиеся не в той же директории, что и исходные, нужно указать ему путь к ним. Для этого служит ключ командной строки -I. Указать можно, также, и в опциях оболочки - вкладка там есть для этого в опциях компилятора, где можно прописать пути. По умолчанию там прописаны пути к системным заголовкам (которые идут в составе пакета). Добавьте там свой путь и все. Подробности в документации, там все есть, хотя что-то принципиально новое к уже сказанному там вряд ли найдется. Спасибо. Не знал что можно добавлять. Только не понял почему ему не понравился полный путь?
|
|
|
|
|
Oct 17 2007, 04:05
|
Знающий
   
Группа: Свой
Сообщений: 771
Регистрация: 16-07-07
Из: Волгодонск
Пользователь №: 29 153

|
Чтобы пути были относительно проекта, можно использовать $PROJ_DIR$, примерно так: ..\$PROJ_DIR$\ОбщиеФайлы\ Цитата(Т.Достоевский @ Oct 17 2007, 07:59)  Спасибо. Не знал что можно добавлять. Только не понял почему ему не понравился полный путь? Только что проверил, в #include "" работает и полный и относительный путь. Слэши не забыли проэкранировать?
|
|
|
|
|
Oct 17 2007, 07:24
|
Гуру
     
Группа: Свой
Сообщений: 2 702
Регистрация: 14-07-06
Пользователь №: 18 823

|
Цитата(rezident @ Oct 17 2007, 09:07)  Я в своих проектах использую относительные пути. Вот здесь я уже приводил пример. А вот здесь приводил пример используемой мной структуры каталогов для проектов. Подобную структуру (вкупе с относительными путями) довольно удобно использовать при переносе проектов в любое другое место. Как это сочетается с системой контроля версий?
--------------------
Уходя, оставьте свет...
|
|
|
|
|
Oct 17 2007, 09:07
|

Гуру
     
Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095

|
Цитата(rezident @ Oct 17 2007, 09:07)  А вот здесь приводил пример используемой мной структуры каталогов для проектов. Тоже пользовался такой структурой, пока не выяснилось, что в одном проекте может быть два и больше процессоров разных семейств, а после этого выяснилось, что очень удобно в одном месте хранить и все исходники для процессоров, и сопутствующие писишиные программы с исходниками и схемы/разводки и документацию. Т.е. Код Project Doc Hardware Software Bootloader Firmware PC или Проц1 Bootloader Firmware PC Проц2 Bootloader Firmware PC В таком виде оказалось очень удобно проекты и под контролем версий держать, и в .bat прописывать относительные пути к экзешникам, которые компилятся из писишных исходников и лежат в своих каталогах (достаточно под контролем версий держать только исходники). И при необходимости можно одной командой достать из репозитория весь проект на нужный момент времени. И общие для проекта файлы гармонично ложатся в общие каталоги (например Hardware.h кладется в "Проц1" и легко доступен из Bootloader и Firmware(#include "..\Hardware.h"), Hardware.h для второго проца в "Проц2", заголовочный файл для обмена по шине в Software и т.д.)
--------------------
На любой вопрос даю любой ответ"Write code that is guaranteed to work, not code that doesn’t seem to break" ( C++ FAQ)
|
|
|
|
|
Oct 17 2007, 09:58
|
Гуру
     
Группа: Свой
Сообщений: 2 702
Регистрация: 14-07-06
Пользователь №: 18 823

|
Цитата(Andy Mozzhevilov @ Oct 17 2007, 11:20)  А в чем сложность, собственно? То ли я не умею готовить, но у меня вот эти две папки |->_INC <-общие хидеры проектов |->_SRC <-общие исходники проектов не получаются статическими, они тоже изменяются. В реальной жизни то ошибка находится, то ли стремление улучшить проснется. Получается такая последовательность: - общая часть ver 1 - проект A ver 1 - проект B ver 1 Произвели 100 устройств проекта A. - корректировали общую часть ver 2 - корректировали проект 2 Произвели 100 устройств по проекту B. Корректировали проект A ver 2. Произвели 100 устройств проекта A Пришла жалоба от клиента по ошибке в проекте A из первой партии. Начинаем разбираться. Вернули версию проекта A на 1 - все правильно. Но результат компиляции другой, так как была изменена общая часть. Концов не осталось.
--------------------
Уходя, оставьте свет...
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|