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

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

Страниц: 1 [2] 3   Вниз
  Печать  
Автор Тема: eXaro сборка, вообще работа  (Прочитано 29242 раз)
Alex7902
Гость
« Ответ #15 : Апрель 12, 2010, 18:22 »

Народ, а может кто-нибудь выложить простой исходник примера приложения с отчетом eXaro. А то я чет не совсем понимаю как прикрутить отчет к приложению. Сождается файл с .*bdrt и дальше что? Как сделать так, чтоб по нажатию кнопки в приложении открывался отчет?
Записан
kolob
Частый гость
***
Offline Offline

Сообщений: 296



Просмотр профиля
« Ответ #16 : Апрель 21, 2010, 22:40 »

Добрый вечер! А есть какая нибудь документация по работе с eXaro? что то не могу в ней разобрать. Мог бы кто нибудь сорцы выложить с самым самым простым примером , с простым отчетом. Плизз, очень надо!!
Записан

Qt 5.11.0, Win, MinGW
sergun1604
Гость
« Ответ #17 : Ноябрь 30, 2010, 15:39 »

как установить Exaro в Kubuntu?
Записан
BlackTass
Гость
« Ответ #18 : Ноябрь 30, 2010, 16:32 »

собрать из сорцов
Записан
sergun1604
Гость
« Ответ #19 : Ноябрь 30, 2010, 16:53 »

какой командой
Записан
BlackTass
Гость
« Ответ #20 : Ноябрь 30, 2010, 19:55 »

mkdir build && cd build && cmake ../CMakeLists.txt
make
Записан
domr
Гость
« Ответ #21 : Январь 25, 2011, 22:39 »

Прошу, обратить внимание eXaro Wiki
Записан
andybeg
Гость
« Ответ #22 : Июнь 24, 2011, 12:30 »

не могли бы достопочтенные доны написать как сабж ставится на Win, рецепт на первой странице не помог Грустный
Записан
andybeg
Гость
« Ответ #23 : Июль 01, 2011, 11:59 »

виноват. взялся в очередной раз за сборку eXaro, поскармливал QtCreator-у CMakeLists.txt файлы, удовлетворил все зависимости и всё собралось Улыбающийся
Записан
andybeg
Гость
« Ответ #24 : Июль 06, 2011, 11:28 »

начал делать проект с использованием eXaro и получил ошибку
Цитировать
exaro :-1: ошибка: cannot find -lReport
Записан
andybeg
Гость
« Ответ #25 : Июль 07, 2011, 12:33 »

можно сказать добил установку eXaro с mingw под Win7_32bit
1. cd каталог eXaro
2. mkdir build
3. cd build
4. cmake .. -G "MinGW Makefiles"
5. mingw32-make
запускаем терминал от админа
6. mingw32-make install
собственно сборка закончена, далее чтобы в проекте библитека увидилась прописываем в про файле
LIBS += -L"c:/Program Files/exaro-package/lib" -lReport
Записан
andybeg
Гость
« Ответ #26 : Июль 18, 2011, 01:22 »

как диагностировать почему не открывается отчёт?
делаю по аналогии с демо кодом
Код:
    Report::ReportInterface* report = 0;
    Report::ReportEngine reportEngine;
    report = reportEngine.loadReport("current.bdrt");
    if (!report)
    {
            qCritical()<<"Error: Can't open the report";
            return;
    }
при том , что loadReport файл видит, типа читает его, но в итоге возвращает "0"
ниже представляю код загрузки отчёта
Код:
ReportInterface* ReportEngine::loadReport(const QString & fileName)
{
ReportInterface* report = 0;
QFile file(fileName);

if (file.open(QIODevice::ReadOnly))
{
report = dynamic_cast<ReportInterface*>(loadReport(&file));
file.close();
}

return report;
}

ReportInterface* ReportEngine::loadReport(QIODevice * device)
{
QDomDocument doc("report");

if (!doc.setContent(device->readAll()))
return 0;

return dynamic_cast<Report::ReportInterface*>(objectFromDom(0, doc.firstChildElement()));
}
Записан
andybeg
Гость
« Ответ #27 : Июль 20, 2011, 08:58 »

 в сязи с вышеозначенной проблемой решил пересобрать сабж из репозитория, но на этапе сборки выдаётся предупреждение
Код:
-- Configuring done
WARNING: Target "Ods" requests linking to directory "C:/dev/quazip-package/lib".
  Targets may link only to libraries.  CMake is dropping the item.
WARNING: Target "exaro" requests linking to directory "C:/dev/propertyEditor-pac
kage/include".  Targets may link only to libraries.  CMake is dropping the item.

-- Generating done
-- Build files have been written to: C:/dev/exaro/build
соответственно mingw32-make затыкается на сборке плагина Ods
Код:
[ 37%] Building CXX object plugins/report/export/ods/CMakeFiles/Ods.dir/qrc_odsR
esource.cxx.obj
Linking CXX shared library libOds.dll
Creating library file: libOds.dll.a
CMakeFiles\Ods.dir/objects.a(ods.cpp.obj):C:/dev/exaro/plugins/report/export/ods
/ods.cpp:123: undefined reference to `QuaZip::QuaZip(QString const&)'
CMakeFiles\Ods.dir/objects.a(ods.cpp.obj):C:/dev/exaro/plugins/report/export/ods
/ods.cpp:124: undefined reference to `QuaZip::open(QuaZip::Mode, zlib_filefunc_d
ef_s*)'
на каком этапе нужно прилинковать вышеозначенные директории?
Записан
andybeg
Гость
« Ответ #28 : Июль 20, 2011, 20:40 »

ларчик просто открывался - в CMakeLists.txt не верно были прописаны пути к инклудам вместо
Цитировать
set( ZINT_INCLUDE_DIR C:/libs/zlib/include )
set( PROPERTYEDITOR_LIBRARY C:/dev/propertyEditor-package/include )
set( PROPERTYEDITOR_INCLUDE_DIR C:/dev/propertyEditor-package/lib )
set( QUAZIP_LIBRARY C:/dev/quazip-package/lib )
set( QUAZIP_INCLUDE_DIR C:/dev/quazip-package/include )
надо было
Цитировать
set( ZINT_INCLUDE C:/libs/zlib/include )
set( PROPERTYEDITOR_LIBRARY C:/dev/propertyEditor-package/include )
set( PROPERTYEDITOR_INCLUDE C:/dev/propertyEditor-package/lib )
set( QUAZIP_LIBRARY C:/dev/quazip-package/lib )
set( QUAZIP_INCLUDE C:/dev/quazip-package/include )
надо бы с нуля собрать всё и описать в деталях ... чисто , чтобы не забыть
Записан
andybeg
Гость
« Ответ #29 : Июль 24, 2011, 18:06 »

проблема с загрузкой так и не решилась Грустный файл отчёта загружается, но
Код:
    report = reportEngine.loadReport("Report.bdrt");
возвращает "0"
этот ноль возвращает следующя функция
Код:
return dynamic_cast<Report::ReportInterface*>(objectFromDom(0, doc.firstChildElement()));
....................................

QObject * ReportEngine::objectFromDom(QObject * parent, const QDomElement & dom)
{
QObject * obj = 0;

for (int r = 0;r < m_reports.size();r++)
if (dom.tagName() == m_reports[r]->metaObject()->className())
{
obj = m_reports[r]->createInstance(parent);
setObjectPropertiesFromDom(obj, dom);
break;
}

if (!obj)
for (int p = 0;p < m_pages.size();p++)
if (dom.tagName() == m_pages[p]->metaObject()->className())
{
obj = m_pages[p]->createInstance(parent);
setObjectPropertiesFromDom(obj, dom);
break;
}

if (!obj)
for (int i = 0;i < m_items.size();i++)
if (dom.tagName() == m_items.values()[i]->metaObject()->className())
{
obj = m_items.values()[i]->createInstance(dynamic_cast<QGraphicsItem*>(parent), parent);

if (dynamic_cast<Report::PageInterface*>(parent))
dynamic_cast<Report::PageInterface*>(parent)->addItem(dynamic_cast<QGraphicsItem*>(obj));

setObjectPropertiesFromDom(obj, dom);

break;
}

if (obj)
for (QDomElement ch = dom.firstChildElement("children").firstChildElement();!ch.isNull();ch = ch.nextSiblingElement())
objectFromDom(obj, ch);
else
qWarning() << tr("Can't find %1").arg(dom.tagName());

return obj;
}
совсем голову поломал Грустный
« Последнее редактирование: Июль 24, 2011, 18:11 от andybeg » Записан
Страниц: 1 [2] 3   Вверх
  Печать  
 
Перейти в:  


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