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

 
 
 
Reply to this topicStart new topic
> Один общий файл для всех проектов одного WorkSpace, Чтобы параметры, общие для всех проектов были в одном файле
Д_М
сообщение Oct 13 2015, 15:28
Сообщение #1


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

Группа: Участник
Сообщений: 121
Регистрация: 15-04-05
Из: Краснодар
Пользователь №: 4 185



Здравствуйте!
У меня задача реализуется при помощи трёх микроконтроллеров. Соответственно, три проекта, объединённые в одно рабочее пространство. Я давно настроечные параметры проекта, например, скорость передатчика, выношу в отдельный файл. Пока приходится изменения делать сразу в трёх файлах. Есть риск, что в одном файле изменения внёс, в другом забыл. Вот и получается, что один прибор работает на одной скорости, а второй на другой. Как в проект вложить файл, директивой #include, указав, что он находится в папке на уровень выше, чем папка проекта?
Спасибо!
Go to the top of the page
 
+Quote Post
Kabdim
сообщение Oct 13 2015, 15:30
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 558
Регистрация: 26-11-14
Из: Зеленоград
Пользователь №: 83 842



А #include "../file.h" не работает?
Go to the top of the page
 
+Quote Post
Д_М
сообщение Oct 13 2015, 15:42
Сообщение #3


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

Группа: Участник
Сообщений: 121
Регистрация: 15-04-05
Из: Краснодар
Пользователь №: 4 185



Цитата(Kabdim @ Oct 13 2015, 18:30) *
А #include "../file.h" не работает?


Если буквально, то не работает. Конечно же, можно прописать весь путь, но тогда возникают проблемы с переносом программы. На другом компьютере рабочее пространство может располагаться совсем в другом месте.
Go to the top of the page
 
+Quote Post
megajohn
сообщение Oct 13 2015, 16:15
Сообщение #4


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

Группа: Свой
Сообщений: 1 080
Регистрация: 16-11-04
Из: СПб
Пользователь №: 1 143



Цитата(Д_М @ Oct 13 2015, 18:42) *
Если буквально, то не работает.


работает-работает

Цитата(Д_М @ Oct 13 2015, 18:42) *
Конечно же, можно прописать весь путь, но тогда возникают проблемы с переносом программы. На другом компьютере рабочее пространство может располагаться совсем в другом месте.


если писать как выше, плюс в свойствах поекта применять только относительный путь от рабочей директории
$PROJ_DIR$\..\..\_lib\
то проблем никогда не возникнет


--------------------
Марс - единственная планета, полностью населенная роботами (около 7 штук).
Go to the top of the page
 
+Quote Post
Д_М
сообщение Oct 13 2015, 17:02
Сообщение #5


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

Группа: Участник
Сообщений: 121
Регистрация: 15-04-05
Из: Краснодар
Пользователь №: 4 185



Относительный путь проекта может быть только глубже, относительно папки проекта. А мне надо на уровень выше, чем папка проекта.

Цитата(megajohn @ Oct 13 2015, 19:15) *
работает-работает



если писать как выше, плюс в свойствах поекта применять только относительный путь от рабочей директории
$PROJ_DIR$\..\..\_lib\
то проблем никогда не возникнет

Go to the top of the page
 
+Quote Post
megajohn
сообщение Oct 13 2015, 17:05
Сообщение #6


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

Группа: Свой
Сообщений: 1 080
Регистрация: 16-11-04
Из: СПб
Пользователь №: 1 143



Цитата(Д_М @ Oct 13 2015, 20:02) *
Относительный путь проекта может быть только глубже, относительно папки проекта. А мне надо на уровень выше, чем папка проекта.


епрст
.. это и есть подняться на уровень выше


--------------------
Марс - единственная планета, полностью населенная роботами (около 7 штук).
Go to the top of the page
 
+Quote Post
Д_М
сообщение Oct 13 2015, 17:38
Сообщение #7


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

Группа: Участник
Сообщений: 121
Регистрация: 15-04-05
Из: Краснодар
Пользователь №: 4 185



Цитата(megajohn @ Oct 13 2015, 20:05) *
епрст
.. это и есть подняться на уровень выше



Вот такое не принимает:
#include "$PROJ_DIR$\CraneDuo.def"

Файл CraneDuo.def находится папкой выше, чем папка с проектом.
Go to the top of the page
 
+Quote Post
digital
сообщение Oct 13 2015, 20:21
Сообщение #8


Местный
***

Группа: Свой
Сообщений: 229
Регистрация: 3-02-06
Из: Санкт-Петербург
Пользователь №: 13 974



Цитата(Д_М @ Oct 13 2015, 20:38) *
Вот такое не принимает:
#include "$PROJ_DIR$\CraneDuo.def"

Файл CraneDuo.def находится папкой выше, чем папка с проектом.



#include "$PROJ_DIR$\..\CraneDuo.def"




только пути лучше не в Include прописывать в настройках компилятора project-options-c/c++ compiler/Preprocessor

типичные настройки в примерах для ST, библиотеки одни для сотни примеров

$PROJ_DIR$\
$PROJ_DIR$\..\..\..\..\Libraries\CMSIS\Device\ST\STM32L1xx\Include
$PROJ_DIR$\..\..\..\..\Libraries\STM32L1xx_StdPeriph_Driver\inc
$PROJ_DIR$\..\..\..\..\Utilities\STM32_EVAL
$PROJ_DIR$\..\..\..\..\Utilities\STM32_EVAL\Common
$PROJ_DIR$\..\..\..\..\Utilities\STM32_EVAL\STM32L152_EVAL
Go to the top of the page
 
+Quote Post
drozel
сообщение Oct 16 2015, 11:31
Сообщение #9


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

Группа: Свой
Сообщений: 108
Регистрация: 2-02-11
Пользователь №: 62 650



А есть вообще такая фича у препроцессоров- искать в всех вложенных папках, или это бредовая идея?
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 18th July 2025 - 12:06
Рейтинг@Mail.ru


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