Russian Qt Forum
Ноябрь 22, 2024, 18:06 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1] 2   Вниз
  Печать  
Автор Тема: Сборка eXaro 2.0.0  (Прочитано 24822 раз)
silart
Гость
« : Декабрь 02, 2009, 10:41 »

Добрый день!

Товарищи, кто-нибудь собирал САБЖ?
Я скачал исходники, для сборки они требуют cmake. Я с ним ни разу не работал. После скачивания cmake 2.8.0 с первого раза собрать не удалось. Много ошибок.
Наверно нужно что-то исправлять в скрипте.

Подскажите пожалуйста, кто уже собирал eXaro.
Использую MS Visual Studio 2008 + Qt 4.5.3 + интегратор.
Записан
f0x
Гость
« Ответ #1 : Декабрь 19, 2009, 22:08 »

Конечно кто-нибудь да собирал. Подмигивающий
http://code.google.com/p/exaro/
здесь указаны все зависимости для eXaro.
В следующий раз, пожалуйста, скопируйте текст ошибок при описание проблемы.
Записан
silart
Гость
« Ответ #2 : Декабрь 29, 2009, 05:51 »

Конечно кто-нибудь да собирал. Подмигивающий
http://code.google.com/p/exaro/
здесь указаны все зависимости для eXaro.
В следующий раз, пожалуйста, скопируйте текст ошибок при описание проблемы.

alFoX, просто я ни разу не работал с cmake. Это не совсем родная система сборки для проектов Qt. Хотелось бы получить советы как собрать eXaro, используя cmake. Или может как-то можно конвертировать проект сборки eXaro в родную систему сборки для Qt (qmake, nmake)? Посоветуйте пожалуйста, как лучше собрать eXaro. Заранее благодарен!  Улыбающийся
Записан
f0x
Гость
« Ответ #3 : Декабрь 29, 2009, 13:56 »

QtCreator прекрасно умеет работать с cmake (как со студией не знаю.)
Открывая в нем новый проект укажите файл - CMakeLists.txt

Для успешного запуска нужны собранные и установленные плагины. Поэтому впишите в сценарий сборки что то типа "make install".

сборка из терминала:
mkdir build
cd build
cmake ..
make
make install

PS. предварительно установите зависимости проекта(о указанной ссылке) любым удобным для вас способом.
« Последнее редактирование: Декабрь 29, 2009, 13:58 от alFoX » Записан
silart
Гость
« Ответ #4 : Декабрь 30, 2009, 08:11 »

QtCreator прекрасно умеет работать с cmake (как со студией не знаю.)
Открывая в нем новый проект укажите файл - CMakeLists.txt

Для успешного запуска нужны собранные и установленные плагины. Поэтому впишите в сценарий сборки что то типа "make install".

сборка из терминала:
mkdir build
cd build
cmake ..
make
make install

PS. предварительно установите зависимости проекта(о указанной ссылке) любым удобным для вас способом.


Что-то ниче я не понял.
Какие такие нужны плагины (собранные и установленные)? Где их взять?
Я скачал CMake 2.8. Там есть графическая утилита. Все сделал как было написано в хелпе: выбрал папку с исходниками, папку для сборки, нажал на кнопку "confiure". После этого в логе этой утилиты вывалилось много всего и красного цвета:

Код:
*** eXaro use GPL license ***
Could NOT find quazip  (missing:  QUAZIP_LIBRARY QUAZIP_INCLUDE_DIR)
** Quazip was not found in your system, if you want to use ods export plugin, consider to download and install Quazip from it's original site "http://sourceforge.net/projects/quazip/" or a custom cmaked version from "http://code.google.com/p/exaro/downloads/list"
CMake Warning (dev) at plugins/report/items/charts/CMakeLists.txt:3 (add_subdirectory):
  The source directory

    C:/Development/exaro_2.0.0/plugins/report/items/charts/areachart

  does not contain a CMakeLists.txt file.

  CMake does not support this case but it used to work accidentally and is
  being allowed for compatibility.

  Policy CMP0014 is not set: Input directories must have CMakeLists.txt.  Run
  "cmake --help-policy CMP0014" for policy details.  Use the cmake_policy
  command to set the policy and suppress this warning.
This warning is for project developers.  Use -Wno-dev to suppress it.

Could NOT find Zint  (missing:  ZINT_LIBRARY ZINT_INCLUDE_DIR)
Could NOT find QZint  (missing:  QZINT_LIBRARY QZINT_INCLUDE_DIR)
** Zint was not found in your system, if you want to use barcode plugin, consider to download and install Zint from it's original sites "http://www.zint.org.uk/", "http://sourceforge.net/projects/zint/" or a working snapshot from "http://code.google.com/p/exaro/downloads/list"
Could NOT find PropertyEditor  (missing:  PROPERTYEDITOR_LIBRARY PROPERTYEDITOR_INCLUDE_DIR)
** propertyEditor was not found in your system, if you want to use eXaro designer, consider to download and install propertyEditor from "http://code.google.com/p/propertyeditor"
Configuring done

Наверно нужно настроить какие-то пути. Только как это сделать? И где? И самое что должно получиться на выходе? Я пользуюсь MSVS 2005. Получается что еще нужно править файл CMakeLists.txt?

Объясните пожалуйста как собрать этот eXaro. Блин, зачем нужен этот cmake, ведь было бы лучше, если бы была родная система сборки для Qt. Там есть один *.pro файл и править почти никогда ничего не нужно, интегратор студии сам все понимает и сам делает проект.

Да, скачал я qtcreator. Он действительно понимает cmake, но в нем надо было настраивать MinGW, я не стал с ним разбираться, он мне все равно не поможет, ведь я пользуюсь студией.
Записан
BRE
Гость
« Ответ #5 : Декабрь 30, 2009, 08:29 »

CMake тебе говорит, что не хватает библиотеки Quazip, сначала ее нужно установить у себя.
Тебе alFoX уже писал ссылку на страницу где указаны все зависимости eXaro. Посмотри ее и установи эти библиотеки.
Это одно из отличий CMake от qmake, первая может определять наличие пакетов и автоматически конфигурировать сборку.
Записан
GraninAS
Гость
« Ответ #6 : Январь 14, 2010, 11:06 »

Я тоже намучался с eXaro, но все-таки собрал его. Использовать сборку не пробовал. Если у вас она заработает, обязательно отпишитесь, интересно же!

Версия eXaro, которая есть у меня (2.0.0), зависит от:
LPNG 1.2.41 (есть более свежая версия, здесь: http://www.libpng.org/pub/png/libpng.html можно найти все версии, а это - http://prdownloads.sourceforge.net/libpng/libpng-1.2.42.tar.gz?download - прямая ссылка на скачивание версии 1.2.42),
PropertyEditor 2.1.3 (http://propertyeditor.googlecode.com/files/propertyeditor-2.1.3.tar.lzma),
Quazip 2008-09-17 0.2.3 (причем нужен специальный, под CMake заточенный. Можно вот этот попробовать:  http://exaro.googlecode.com/files/quazip-cmaked.tar.bz2),
Zint 2.2.1 (http://exaro.googlecode.com/files/zint-for-exaro.tar.bz2),
Zlib 1.2.3 (http://www.zlib.net/zlib123.zip).
eXaro:  http://exaro.googlecode.com/files/exaro_1.90.0.tar.lzma (rc 2.0)

CMake версии 2.8.0. Взять можно здесь: http://www.cmake.org/files/v2.8/cmake-2.8.0-win32-x86.exe.
MinGW (v3.81) (http://www.mingw.org/), у меня он установлен вместе с Qt SDK 2009.05-rc1.

Опять же, у продуктов могут быть новые версии, а мои версии могут не совпадать с теми, что закачиваются (если закачиваются) по ссылкам. Я добывал библиотеки отовсюду: из Интернета, из собственных архивов, от друга и т.п. Как вы понимаете, есть риск, что винегрет окажется невкусным.

Чтобы упростить дело, я создал сборку. В ней лежат все необходимые библиотеки, в одном месте собраны h-фалы, а для будущих бинарников подготовлены папки.

Архив моей сборки доступен здесь: https://sourceforge.net/projects/graninascommon/files/eXaro%20src.rar/download, 21 мб. CMake’а в ней нет, его придется качать по ссылке выше.

Итак, сборка. Последовательность пакетов такая:
QUAZIP
LPNG
PROPERTY EDITOR
ZINT
EXARO
> ZLIB собирать не надо.

QUAZIP

В CMake’s GUI указываем путь к исходникам (у меня это «D:/Qt/eXaro src/distrib/quazip-cmaked») и путь к bin-папке («D:/Qt/eXaro src/distrib/quazip-cmaked/bin»). Если bin-папка пуста, ничего не произойдет. Нажимаем кнопку “Configure”, выбираем в открывшемся окне компилятор и видим, как CMake генерирует нам параметры компиляции. Потом он выдаст ошибку, мол, чего-то неправильно, и отобразит красные параметры, в которых сомневается. Рекомендую поставить отображение «Grouped View», чтобы проще ориентироваться в дебрях настроек. Замечу еще, что иногда CMake GUI тупит, и его нужно полностью перезагрузить, чтобы он не помнил старых значений. А лучше перезапускать его для каждой новой сборки.

Для quazip нам нужно настроить сущую мелочь – два параметра библиотеки ZLIB (ZLIB_INCLUDE_DIR и ZLIB_LIBRARY), и еще добавить один (кнопка «Add Entry»), а именно – LIBRARY_OUTPUT_PATH типа «Path». Этот параметр говорит компилятору mingw, куда выкладывать готовые бинарники. Его желательно устанавливать для каждого из пакетов, в противном случае будете вручную выуживать бинарники из папок с исходниками.
Значения параметров следующие:
ZLIB_INCLUDE_DIR = D:\Qt\eXaro src\includes\zlib\
ZLIB_LIBRARY = D:\Qt\eXaro src\bins\zlib\libzdll.a
LIBRARY_OUTPUT_PATH = D:\Qt\eXaro src\bins\quazip\
Естественно, у вас пути могут отличаться от моих.

Остальные параметры трогать не стоит. Снова нажимаем кнопку «Конфигурировать»; если краснота с параметров исчезла, значит, можно генерировать makefile’ы. Генерируем. Все хорошо?.. Идем в папку D:\Qt\eXaro src\distrib\quazip-cmaked\bin\ и выполняем команду mingw32-make. При успешной компиляции бинарники quazip появятся в папке, которую вы указали в параметре LIBRARY_OUTPUT_PATH. Кстати, компиляция – очень красивый процесс, разноцветная такая…

Теперь собираем LPNG. Принцип тот же. Загружаем папку исходников и bin-папку. Жмем «Конфигурировать». Видим ошибку и красноту. Изменяем параметры для библиотеки ZLIB (все то же самое, что и в предыдущем пункте). Изменяем параметр EXECUTABLE_OUTPUT_PATH:
EXECUTABLE_OUTPUT_PATH = D:\Qt\eXaro src\distrib\lpng1241\bin\exec
Добавляем параметр (если его нет) LIBRARY_OUTPUT_PATH:
LIBRARY_OUTPUT_PATH = D:\Qt\eXaro src\bins\lpng\.
Конфигурируем. Не прошло, снова краснота, на этот раз он просит библиотеку PNG. Я ее так и не нашел, если честно, так что на нее плюнул, – как ни странно, все собирается… Да, конфигурируем еще раз. СиМэйк обидится, но пережует красноту. Наконец, разрешена генерация, что мы и делаем. Приходим в папку D:\Qt\eXaro src\distrib\lpng1241\bin\, запускаем mingw32-make. Готова сборка!

Другие пакеты собираются аналогично, только есть несколько особенностей. В фале compiling.txt я схематически указал, какие параметры нужно настраивать, чтобы eXaro успешно собрался. Привожу этот файл:

QUAZIP
  -> ZLIB
  --> ZLIB_LIBRARY  =  bins\zlib\libzdll.a
  --> ZLIB_INCLUDE_DIR  =  includes\zlib
  
  -> LIBRARY_OUTPUT_PATH  =  \bins\quazip\

LPNG
  -> ZLIB
  --> ZLIB_LIBRARY  =  bins\zlib\libzdll.a
  --> ZLIB_INCLUDE_DIR  =  includes\zlib
  
  -> EXECUTABLE_OUTPUT_PATH  =  \lpng1241\bin\exec
  -> LIBRARY_OUTPUT_PATH  =  \bins\lpng\

PROPERTY EDITOR
  -> LIBRARY_OUTPUT_PATH = \bins\property editor\
  
ZINT
  -> ZLIB
  --> ZLIB_LIBRARY  =  bins\zlib\libzdll.a
  --> ZLIB_INCLUDE_DIR  =  includes\zlib
  
  -> LIBRARY_OUTPUT_PATH  =  \bins\zint\
  
  -> PNG
  --> PNG_LIBRARY  =  \bins\lpng\libpng12_static.a
  --> PNG_PNG_INCLUDE_DIR  =  
  
  -> QR
  --> QR_INCLUDE_DIR  =
  --> QR_LIBRARY  =
  
EXARO
  -> PROPERTYEDITOR
  --> PROPERTYEDITOR_INCLUDE_DIR   =        (! Важно оставить пустой, иначе придется пересобирать CMake'ом)
  --> PROPERTYEDITOR_LIBRARY  =  \bins\property editor\libPropertyEditor.dll
  
  -> QUAZIP
  --> QUAZIP_INCLUDE_DIR  =  \includes\quazip
  --> QUAZIP_LIBRARY  =  \bins\quazip\libquazip.dll.a
  
  -> QZINT
  --> QZINT_INCLUDE_DIR  =  \includes\zint
  --> QZINT_LIBRARY  =  \bins\zint\libQZint.dll.a
  
  -> ZINT
  --> ZINT_INCLUDE_DIR  =  \includes\zint
  --> ZINT_LIBRARY  =  \bins\zint\libZint.dll.a
  
  -> LIBRARY_OUTPUT_PATH  =  \bins\exaro\

Особо стоит отметить Property Editor. Если указать ту саму папку (PROPERTYEDITOR_INCLUDE_DIR), то происходит что-то странное, скрытно прописывается какой-то дряный параметр, и eXaro в конечном итоге не собирается. Более того, приходится убивать содержимое папки D:\Qt\eXaro src\distrib\exaro_2.0.0\bin\, перезапускать CMake GUI, и только тогда песобирать eXaro, снова настраивая все параметры.

А, да, еще: h-файлы quazip должны лежать в папке «.\includes\quazip\». Это связано с тем, что подключаются они так:
#include <quazip/quazip.h>

QR – это еще одна библиотека, которую я не нашел. Сборка без нее проходит успешно, только компилятор говорит, что-де, будут недоступны некоторые функции. Ну и шут с ними. За решением этой проблемы лучше обращаться к авторам, а для меня это был, скорее, спортивный интерес. Собрать-то я ее собрал, а пользуюсь пока что NCReport’ом. Но авторов всячески поддерживаю, ибо они делают нужную вещь.

Успехов и им, и вам.

P.S. Если что непонятно, спрашивайте.
« Последнее редактирование: Июль 13, 2010, 03:11 от GraninAS » Записан
silart
Гость
« Ответ #7 : Январь 23, 2010, 12:20 »

GraninAS, спасибо за подробный мануал сборки! Улыбающийся

Я обязательно попробую, когда будет свободное время. Просто сейчас есть срочный проект и пока некогда заняться exaro.
Записан
Rome
Гость
« Ответ #8 : Январь 28, 2010, 11:21 »

GraninAS. все собралось, но дллки к сожалению не подхватываются.
Записан
GraninAS
Гость
« Ответ #9 : Апрель 06, 2010, 08:48 »

И вам спасибо за отзывы.
(Да, я тормоз, давно не заглядывал Улыбающийся) )

Видимо, придется с eXaro автора пинать. Пущай объясняет.
Записан
cya-st
Гость
« Ответ #10 : Май 18, 2010, 12:48 »

Я тоже намучался с eXaro, но все-таки собрал его. Использовать сборку не пробовал. Если у вас она заработает, обязательно отпишитесь, интересно же!...
Все собирается кроме eXaro, собрался только один файл libReport.dll.a. Подскажите как эту хрень собрать.
Записан
FantasyOR
Гость
« Ответ #11 : Июль 12, 2010, 12:58 »

Не подскажите, зачем делать такое, это каждый должен скачивать кучу доп библиотек компилить их,каждый не то что велосипед изобретает, а целый самолет.

GraninAS будьте добры, залейте еще раз Вашу сборку, файлы стерлись.
Спасибо
« Последнее редактирование: Июль 12, 2010, 14:03 от FantasyOR » Записан
cya-st
Гость
« Ответ #12 : Июль 12, 2010, 15:20 »

Так и не собрал я этот eXaro, на мой взгляд фигня полная, вообще вменяемой документации нет...румын.....написал......мать...... ....... ...... ..........
Записан
f0x
Гость
« Ответ #13 : Июль 12, 2010, 20:07 »

Уважаемый, вам уже все разжевали...
Ни румын, ни кто-либо другой вам ничего не обязаны...
Выложили - пользуйтесь, не можете читать список зависимостей и писать багрепорты - обратитесь за помощью к специалистам.
Записан
cya-st
Гость
« Ответ #14 : Июль 12, 2010, 20:18 »

Уважаемый, вам уже все разжевали...
Ни румын, ни кто-либо другой вам ничего не обязаны...
Выложили - пользуйтесь, не можете читать список зависимостей и писать багрепорты - обратитесь за помощью к специалистам.

В том-то и дело что все зависимости установил, а этому кодеру можно было бы хоть какую нибудь доку по установке выкинуть.
Записан
Страниц: [1] 2   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.054 секунд. Запросов: 21.