| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Программирование под Unix/Linux > KDevelop - сборка проекта |
| Автор: kometa_75 24.1.2008, 11:03 |
| При сборке в KDevelop проект собирается с установленными опциями компилятора. При "ручной сборке" (т.е. ./configure, make) надо устанавливать опции CXXFLAGS, иначе соберётся дефолтная конфигурация. Интересно, что при указании нужных опций для этой же дефолтной конфигурации в IDE - всё собирается как положено, а вот в ручном режиме или через source archive эти опции не учитываются. Вопрос: что и как надо настроить в проекте, чтобы configure вызывалась с заданными опциями ? |
| Автор: powerfox 24.1.2008, 14:24 |
| kometa_75, у KDevelop есть Build options. параметры нужно прописать туда. Советую посмотреть FAQ по KDevelop. |
| Автор: kometa_75 24.1.2008, 14:38 | ||
Куда конкретно и что писать ? Перепробовал все возможные варианты. В факе по этому поводу ничего не нашёл. Всё упорно собирается в конфигурации default, причём если собирать в самой IDE -то все опции выполняются нормально, а вот если руками собирать - то опции игнорируются. |
| Автор: powerfox 24.1.2008, 19:01 |
| Проект->Параметры проекта -> Опции configure + в параметрах проекта есть всё, что может потребоваться. |
| Автор: kometa_75 25.1.2008, 10:03 | ||
Конечно ! Я здесь в первую очередь и пишу... Только когда руками вызываю ./configure, а затем make эти опции почему-то не учитываются. А вот если явно указывать ./configure CXXFLAGS=... всё собирается как-надо. Может я не всё или не правильно заполняю в Проект->Параметры проекта -> Опции configure ? Почему, собственно, и возник вопрос. ЗЫ. Мне в другом месте посоветовали пойти через переменные окружения, но как-то этот способ не вдохновляет. |
| Автор: bsa 26.1.2008, 19:08 |
| kometa_75, если честно, не очень понятно, что ты хочешь. KDevelop вызывает configure с указанием значений CXXFLAGS и CFLAGS. Если тебе надо свои значения, то это надо редактировать configure.in, добавляя определения переменных CPPFLAGS, CXXFLAGS, CFLAGS и т.п... Только это не очень правильно. Настройки оптимизации логично передавать через configure. Если же тебе нужно подключать библиотеки или указывать пути к каталогам, то это делается в другом месте - в настройках цели и подпроекта соответственно. |
| Автор: kometa_75 28.1.2008, 10:31 | ||
Всё что я хочу - это собрать пакет и передать его, скажем, третьей стороне(допустим - пользователю). И чтобы пользователь мог собрать пакет традиционно, через ./configure, make, make install. И очень хочется, чтобы пользователь не ломал голову ключами оптимизации и т.д. Во-всяком случае, большинство сторонних приложений я собирал и устанавливал у себя подобным образом. |
| Автор: kometa_75 28.1.2008, 10:51 | ||
Дык, rpm не во всех же версиях линуха поддерживаются, не говоря уже о фре... Да это в принципе и не проблема. Просто я никогда с этим не сталкивался в KDevelop, а сейчас возникла необходимость. |
| Автор: powerfox 28.1.2008, 12:58 | ||
Для этого, на сколько я знаю, нужен не IDE. cmake, scons - рульные штуки. autoconf и automake - традиционные утилиты для создания пакетов с исходниками (чтобы просто распаковать и "./configure && make && make install") |
| Автор: bsa 28.1.2008, 14:22 | ||||
Вообще-то тебе и не надо включать какие-либо ключи оптимизации в конфигуратор. Если надо, пользователь сам их укажет. Если нет - то не укажет. Большинство пакетов (в исходниках), например, и не включают никаких собственных ключей оптимизации. Если тебе уж очень хочется, то повесь на параметр --enable-debug. Если этого параметра нет, то задавай ключи через CXXFLAGS/CFLAGS. Делается это в configure.in:
|
| Автор: kometa_75 28.1.2008, 16:52 |
| Спасибо. Этот способ подходит. |