Официальный форум СВД Встраиваемые Системы
27 Апрель, 2024, 04:22:01 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.

Войти
 
 
 Сайт СВД ВС  Начало   Помощь Поиск Войти Регистрация  
Страниц: [1]   Вниз
  Печать  
Автор Тема: В среде Momentics Unresolved inclusion  (Прочитано 2255 раз)
KA3AKOB
Пользователь

Сообщений: 55


« : 06 Июль, 2016, 15:58:44 »

При редактировании текста в редакторе седы Momentics - Version: 4.7.0 Build id: 201006232051, в текстовом редакторе наблюдаю
на полях жёлтый знак вопроса и всплывающий tip с текстом Unresolved inclusion. Что это означает и как избавиться?
Картинка прилагается.

С уважением,
Казаков С.А.
ОАО "Концерн МПО-Гидроприбор".
Записан
Игорь Рондарев
Модератор
Опытный пользователь

Сообщений: 282

Сотрудник СВД ВС


WWW
« Ответ #1 : 06 Июль, 2016, 16:38:30 »

Добрый день, Сергей Алексеевич!
Данные предупреждения означают, что среда разработки не может найти указанные заголовочные файлы в известных ей путях. Подобное поведение у Вас проявляется на каких-то определённых проектах, или на всех? В частности, если создать новый проект (QNX C++ Project или C++ Project), появляются ли данные предупреждения?
Записан

KA3AKOB
Пользователь

Сообщений: 55


« Ответ #2 : 07 Июль, 2016, 13:22:53 »

Здравствуйте, Игорь Витальевич!
При создании проекта среда пути видит, при импорте из Helios Service Release 2 не видит.
Как сделать, чтобы видела?

« Последнее редактирование: 07 Июль, 2016, 13:47:31 от KA3AKOB » Записан
Игорь Рондарев
Модератор
Опытный пользователь

Сообщений: 282

Сотрудник СВД ВС


WWW
« Ответ #3 : 07 Июль, 2016, 15:06:22 »

Цитировать
при импорте из Helios Service Release 2
В таком случае нужна более подробная информация: тип проекта, каким образом выполняются экспорт и импорт, а также, в идеале, некий минимальный проект, на котором воспроизводится данное поведение.
« Последнее редактирование: 07 Июль, 2016, 15:51:34 от Игорь Рондарев » Записан

KA3AKOB
Пользователь

Сообщений: 55


« Ответ #4 : 07 Июль, 2016, 17:35:56 »

Вот приложен проект, созданный в Eclipse Helios. У него и в Eclipse Helios и в Eclipse Momentics: Unresolved inclusion. При этом, оба проекта нормально строятся. Собственно, проблему я преодолел, хотя и несколько неудобным способом. Просто создаю проект нужного типа, например, Makefile Hello World C++ Project в Momentics, а потом свой содержательный код переношу во вновь созданный folder и правлю Makefile. А рассчитывал просто через меню моментикса File - Import - Existings projects into workspace втащить уже готовый проект в моментикс. Судя по всему, чтобы моментикс признал гелиосный проект своим, надо либо ручками править .cproject или .project, либо делать какие-то установки в среде моментикс, что правильнее. Ну вот, на ответ, что именно править в среде моментикс, как её настроить, я и рассчитывал.

С уважением,
Казаков С.А.
« Последнее редактирование: 08 Июль, 2016, 16:02:05 от KA3AKOB » Записан
Игорь Рондарев
Модератор
Опытный пользователь

Сообщений: 282

Сотрудник СВД ВС


WWW
« Ответ #5 : 07 Июль, 2016, 19:04:04 »

Основные настройки, касающиеся не-QNX-проектов (т.е. не относящихся к типам QNX C Project и QNX C++ Project) находятся в разделе "C++ Build" свойств импортированного проекта.

За распознавание расположения заголовочных файлов отвечает закладка "Discovery Options" с набором предустановок; на ней, как минимум, требуется установить отметку "Automate discovery of paths and symbols" (иначе все пути к заголовочным файлам придётся задавать вручную через настройки проекта, по умолчанию IDE ничего про них не знает). Значение поля "Discovery profile", в свою очередь, определяет, с помощью каких именно инструментов IDE определяет пути к ним. Например, для того, чтобы среда разработки искала заголовочные файлы из QNX SDP, а не, допустим, локальные, необходимо выбрать вариант "Regular make - per-project scanner with QCC tool chain" и установить флаг "Enable generate scanner info command". После этого, чтобы изменения вступили в силу, необходимо нажать Apply, а затем обновить проект (например, клавишей F5).

Остальные настройки, отвечающие за способ построения проекта (кто и как будет строить проект - сам Momentics, вызывая нужные утилиты, или внешняя команда make, опираясь на Makefile и переменные окружения), находятся в закладках "Tool Chain Editor", "Settings" и "Environment". Здесь уже всё зависит от того, какую схему построения проектов (Managed или Makefile, соответственно) Вы предпочитаете и используете.
« Последнее редактирование: 08 Июль, 2016, 16:53:11 от Игорь Рондарев » Записан

KA3AKOB
Пользователь

Сообщений: 55


« Ответ #6 : 08 Июль, 2016, 15:59:46 »

Спасибо за ответ, Игорь Витальевич.
Тем не менее, не работает. К сожалению Help в моментиксе совершенно невразумительный для русского человека. Чего стоит одно только пояснение к вкладке C/C++ Development User Guide > Reference > C/C++ Properties > C/C++ Project properties > C/C++ Build: Customizes the Eclipse CDT build environment variables for all projects in the workspace. Где логика? Свойства для проекта, но переменные для всех проектов в рабочем пространстве. В общем, разобраться по Helpу в приемлемые сроки невозможно. СВД делал перевод? Скажите, пожалуйста, как вручную задать пути в проекте к includам, чтобы среда находила пути и не ставила вопросы в редакторе?

С уважением,
Казаков С.А.

Записан
Игорь Рондарев
Модератор
Опытный пользователь

Сообщений: 282

Сотрудник СВД ВС


WWW
« Ответ #7 : 08 Июль, 2016, 16:49:28 »

Тем не менее, не работает.
Возможно, после настройки Discovery Options не был закрыт и повторно открыт файл .cpp.
Дополнительная информация: http://www.qnx.com/developers/docs/6.5.0_sp1/topic/com.qnx.doc.ide.userguide/topic/wizards_Discovery_Options_Tab.html

СВД делал перевод?
Перевод документации по Momentics мы не выполняли. Надо отметить, что рассматриваемая функциональность относится к базовым возможностям Eclipse CDT, поэтому также можно обратиться к общей документации на Eclipse, доступной в Сети.

Скажите, пожалуйста, как вручную задать пути в проекте к includам, чтобы среда находила пути и не ставила вопросы в редакторе?
Если Вы работаете без явно выбранного toolchain'а (используется только make), то пути к include'ам можно установить в свойства проекта: C++ General -> Paths and Symbols, закладка Includes. При добавлении путей (допустим, ${QNX_TARGET}/usr/include или с явным указанием каталога), целесообразно поставить отметку "Add to all languages". После этого необходимо перестроить индекс (IDE автоматически предложит  перестроить индексы после добавления путей, однако данную операцию можно выполнить и вручную - в контекстном меню проекта есть пункт Index -> Rebuild).
Дополнительная информация:
http://www.qnx.com/developers/docs/6.5.0_sp1/topic/com.qnx.doc.ide.userguide/topic/devel_opening_headers_.html
http://www.qnx.com/developers/docs/6.5.0_sp1/topic/com.qnx.doc.ide.userguide/topic/devel_Set_Include_Paths_And_Define_Directives.html

Если явно используется toolchain QCC (выбран в Tool Chain Editor'е), то пути к include'ам также можно задать вручную в свойствах проекта: закладка С++ Build -> Settings -> Tool settings, выбрав пункт QCC Compiler -> Preprocessor, раздел Include Directories.
Дополнительная информация: http://www.qnx.com/developers/docs/6.5.0_sp1/topic/com.qnx.doc.ide.userguide/topic/wizards_OptToolsTab_.html
« Последнее редактирование: 08 Июль, 2016, 17:07:55 от Игорь Рондарев » Записан

Страниц: [1]   Вверх
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP © 2002-2024 СВД Встраиваемые Системы.
При использовании материалов сайта ссылка на forum.kpda.ru обязательна.

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines | © Aiwan. Kolobok smiles | Sitemap
Valid XHTML 1.0! Valid CSS!
Сайт СВД ВС

В последний раз google посещал эту страницу 26 Март, 2024, 07:17:48