KA3AKOB
Пользователь
Сообщений: 55
|
 |
« : 06 Июль, 2016, 15:58:44 » |
|
При редактировании текста в редакторе седы Momentics - Version: 4.7.0 Build id: 201006232051, в текстовом редакторе наблюдаю на полях жёлтый знак вопроса и всплывающий tip с текстом Unresolved inclusion. Что это означает и как избавиться? Картинка прилагается.
С уважением, Казаков С.А. ОАО "Концерн МПО-Гидроприбор".
|
|
|
Записан
|
|
|
|
Игорь Рондарев
Модератор
Опытный пользователь
Сообщений: 282
Сотрудник СВД ВС
|
 |
« Ответ #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
Сотрудник СВД ВС
|
 |
« Ответ #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
Сотрудник СВД ВС
|
 |
« Ответ #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
Сотрудник СВД ВС
|
 |
« Ответ #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_.htmlhttp://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 от Игорь Рондарев »
|
Записан
|
|
|
|
|