| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Программное обеспечение под *NIX системы > HP aC++/HP ANSI C cross-compile Debian |
| Автор: CompWorm 17.4.2014, 20:31 |
| Доброго времени, проблема: пишу HP aC++/HP ANSI C код для HP-UX B.11.31 U ai64, сам сижу на Debian Wheezy amd64. приходится каждый раз копировать исходники на HP-UX билд сервер для проверки на собираемость, ибо нативного HPaC++ компилятора я не нашёл в репе дебиана ;D вопрос: Можно ли как-то сделать кросс-компиляцию из-под дебиана или собрать HPaC++ compiller из исходников на Debian? ну и вообще советы/идеи по решению проблемы приветствуются. идеи типа писать код по удалёнке на самом HP-UX - не приверствуется. |
| Автор: Zerstroer 23.4.2014, 07:55 |
| Виртуальную машину на собственном PC с HP-UX развернуть можно? Поддерживает ли IDE, которой вы пользуетесь (если пользуетесь) такую штуку, как "сервера удаленной сборки"? Я не знаю, как большинство и вы лично относитесь к NetBeans IDE, но там есть поддержка "серверов удаленной сборки". Прилагаю документацию: https://netbeans.org/kb/docs/cnd/remotedev-tutorial_ru.html, https://netbeans.org/kb/docs/cnd/remote-modes_ru.html. Надеюсь, окажется полезным. |
| Автор: tzirechnoy 23.4.2014, 10:59 |
| Идея первая -- перейти на gcc. Он-то точно соберётся на debian, дажэ с эклектичными тарджэтами вроде hpux/ia64. Ну, а вторая -- а что такого в сборке на удалённом хосте? rsync, ssh в зубы -- и всё почти как локальное. |
| Автор: CompWorm 23.4.2014, 20:59 |
| есть альтернативный нативный вариант: https://h20392.www2.hp.com/portal/swdepot/displayProductInfo.do?productNumber=EclipseCPlugin щас опробую |
| Автор: tzirechnoy 24.4.2014, 02:30 | ||||||||
Я бы сказал, что именно поэтому и нужно. То есть, конечно, ужэ очень поздно (надо бы лет на 10 раньшэ, когда ситуацыя с HP-UX и прочими AIX стала очевидной), но лучшэ поздно, чем никогда.
Могу посоветовать поставить туда git и копировать изменения через git-svn. Будет быстрее, я подозреваю.
По идее, все эти ведущие IDE вполне должны ещё поддержывать dbx. Впрочем, точно не знаю, меня по большому счёту не интересуют ни графические IDE ни интэрактивные отладчики.
А в чём юмор-то? Уж вам-то как раз есть где спереть образ HP-UX. Правда, единственный вариант без итаника (который, впрочем, сейчас можно достать и недорого) -- это, наверное, запустить в kvm HP-UX/ia32, и запустить в нём вашу программу черезе ski. Но юмора всё равно не видно. |
| Автор: CompWorm 24.4.2014, 21:47 |
| короче, админ упёрся что этот нативный вариант с плагином Eclise работает с кучей удалённых сервисов и открывает потенциальную дыру в безопасности, но вцелом, похоже что рабочий вариант. буду пропихивать через манагеров. самый косяк, что плагин не позволяет создать проект без реального подключения... то есть даже автодополнение кода незя задействовавть, а с gcc toolchain весь код покрыт красными ошибками неразрезолвеных инклудов... NetBeans на очереди. надеюсь ему нужно меньше. |
| Автор: Zerstroer 25.4.2014, 09:54 |
Почему-то когда я говорю, что проект в NetBeans, все делают круглые глаза... Не забудьте поделиться своим первым впечатлением. |
| Автор: CompWorm 25.4.2014, 19:31 | ||||||||
| Zerstroer, Ну тут вопрос уже не про религию, а про необходимость... так что уже абсолютно неважно, что мне там нравится или не нравится)) работать надо. так что обязательно отпишусь, если сам разберусь. а пока... небольшой мануал по Eclipse для HP-UX aC/aC++ ... о том как настроить эклипс без HP-UX DEE (HP-UX Development Environment for Eclipse ) таким образом, чтобы исчезли ложные маркеры ошибок. В основном это проишодит по двум причинам - Индексер Эклипса не знает где искать заголовки Юниксовых стандартных библиотек, и второе - флаги (дефайны), которые юзаются для вскрытия нужного функционала из этих заголовков. - подключаем свой код к Этлипсу: File->New->Other->C/C++->Makefile Project with Existing Code - тут высталяем Cross GCC Toolchain. именно его, ибо если выставить какой-нибудь min-GW Toolchain,то Eclipse будет лезть в свои хедеры вместо нужных. - Создаём где-нибудь папку (include) для правильных хедеров и тянем с оригинального билд-сервера следующее:
можно и всё притянуть, но это скорее всего лишнее, да и нагружать и без того идиотский индексер Эклипа не стоит. - правый клик по проекту (ПКМ)->properties->C/C++ General->Paths and Symbols->Include tab и добавить с галками "во все языки" и "во все профили" нижеследующее:
Там же переключаемся на закладку символов и добавляем дефайны без значений. У меня получилось примерно так:
принцип прост. К этому моменту все инклуды должны были у вас разрезолвиться и находиться по F3 в вашей папке Include. находим в коде неразрезолвленную функцию. идём в её хедер и серчаем её в хедере. очеводно она будет найдена в "сером" блоке дефайна, который неопределён в коде. копируем его в символы. Готово! переиндексация обязательна! ПКМ по проекту
- индексер очень туп и тормознут, рекомендую галочки для него выставить вот так: ![]() ------------- На последок расскажу ешё один велосипед. бывает так что вы всё сделали правильно, и даже бывает, что по F3 вы правильно переходите, а код всё равно покрыт гущей красных ошибок... Это опять дурит индексер, мать его! чтобы его прочистить нужно в настройках проекта сменить Toolchain, перезапустить Eclipse, выставить обратно Cross GCC и перезапустить ещё раз. Добавлено через 13 минут и 36 секунд у меня ешё есть идея задействовать QT Creator... там у него много всяких возможностей... |