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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: не могу заставить работать NCReport  (Прочитано 11583 раз)
mokynis
Самовар
**
Offline Offline

Сообщений: 176


Просмотр профиля
« : Февраль 03, 2009, 07:48 »

Исходные данные: KUbuntu 7.10, QT 4.3.2, ncreport скачал с http://nocisoft.com/download/ncreport/bin/NCReport_2.1.1_Linux_bin_Qt4.3.2.tar.gz.
Делаю отчет, как описывается в "Getting started Guide" в папке "Doc". Сделал форму с единственной кнопкой, которая запускает просмотр отчета. В .pro-файле есть строки

INCLUDEPATH = /home/user/downloads/NCReport2/include
LIBS += -lncreport -L/home/user/downloads/NCReport2/lib -L/usr/local/bin

запускаю make, выдает

g++  -o bin/tabl build/dialogimpl.o build/main.o build/moc_dialogimpl.o    -L/usr/lib -lncreport -L/home/user/downloads/NCReport2/lib -L/usr/local/bin -lQtSql -lQtXml -lQtGui -lQtCore -lpthread
/home/user/downloads/NCReport2/lib/libncreport.so: undefined reference to `QGraphicsScene::eventFilter(QObject*, QEvent*)'
collect2: выполнение ld завершилось с кодом возврата 1
make: *** [bin/tabl] Ошибка 1

при этом упоминания QGraphicsScene в тексте программы нет. Как заставить NCReport работать?
И еще: в примерах все время идут ссылки на папку "runner", я уже штук 5 разных NCReport'ов повыкачал, ни в одном этой папки нет. Это мне не везет, или так задумано?

 
Записан

QT4, Qt5, Qt6 Debian, ArchLinux
Sergey B.
Программист
*****
Offline Offline

Сообщений: 544



Просмотр профиля WWW
« Ответ #1 : Февраль 03, 2009, 13:40 »

Добавьте путь к so файлам NCreport в ld.conf, затем обновите кеш библиотек - sudo ldconfig
Записан
mokynis
Самовар
**
Offline Offline

Сообщений: 176


Просмотр профиля
« Ответ #2 : Февраль 04, 2009, 07:37 »

find / -name ld.conf говорит, что такого файла у меня почему-то нет
Записан

QT4, Qt5, Qt6 Debian, ArchLinux
BRE
Гость
« Ответ #3 : Февраль 04, 2009, 08:49 »

find / -name ld.conf говорит, что такого файла у меня почему-то нет
Посмотри /etc/ld.so.conf
Записан
mokynis
Самовар
**
Offline Offline

Сообщений: 176


Просмотр профиля
« Ответ #4 : Февраль 04, 2009, 12:56 »

что-то вообще не то получается.
В /etc/ld.so.conf теперь такие строки:
include /etc/ld.so.conf.d/*.conf
include /home/user/downloads/NCReport2/lib/*   ///я добавил

делаю /etc/ld.so.conf и получаю длинную портянку с такого рода надписями

/sbin/ldconfig.real: �E����t is not a known library type
/sbin/ldconfig.real: ���4$�,i���ƋE�����T����E��$�����D�����t& is not a known library type
/sbin/ldconfig.real: b���D��<����U���T����D$ is not a known library type
/sbin/ldconfig.real: ���(����NjE���������E��$�k��������NjE������

На всякий случай запустил make, но результат был абсолютно тот же, что и до всех моих издевательств над ld.so.conf
Записан

QT4, Qt5, Qt6 Debian, ArchLinux
pastor
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 2901



Просмотр профиля WWW
« Ответ #5 : Февраль 04, 2009, 14:08 »

1. Что говорит ldd на libncreport.so?
2. Скомпилились ли демки из NCREPORTDIR/src/demos?

Кстате, Graphics View Framework присутствует в этой либе
Записан

Integrated Computer Solutions, Inc. (ICS)
http://www.ics.com/
mokynis
Самовар
**
Offline Offline

Сообщений: 176


Просмотр профиля
« Ответ #6 : Февраль 04, 2009, 15:53 »

1) Демо не скомпилировались (я ж писал, что нет папки "runner", а при компиляции ругается, что
make[1]: *** Нет правила для сборки цели `../../runner/ncrtestform.ui', требуемой для `uic/ui_ncrtestform.h'.  Останов.
make[1]: Leaving directory `/home/user/downloads/NCReport2/src/demos/CustomDataSource'
make: *** [sub-CustomDataSource-make_default] Ошибка 2

2)ldd выдал очень длинный список. Вот он:
linux-gate.so.1 =>  (0xffffe000)
        libQtScript.so.4 => /usr/lib/libQtScript.so.4 (0xb7df3000)
        libQtSql.so.4 => /usr/lib/libQtSql.so.4 (0xb7dab000)
        libmysqlclient_r.so.15 => /usr/lib/libmysqlclient_r.so.15 (0xb7bbe000)
        libcrypt.so.1 => /lib/tls/i686/cmov/libcrypt.so.1 (0xb7b90000)
        libnsl.so.1 => /lib/tls/i686/cmov/libnsl.so.1 (0xb7b78000)
        libssl.so.0.9.8 => /usr/lib/i686/cmov/libssl.so.0.9.8 (0xb7b37000)
        libcrypto.so.0.9.8 => /usr/lib/i686/cmov/libcrypto.so.0.9.8 (0xb79f4000)
        libQtXml.so.4 => /usr/lib/libQtXml.so.4 (0xb799a000)
        libQtGui.so.4 => /usr/lib/libQtGui.so.4 (0xb71ff000)
        libpng12.so.0 => /usr/lib/libpng12.so.0 (0xb71dc000)
        libSM.so.6 => /usr/lib/libSM.so.6 (0xb71d4000)
        libICE.so.6 => /usr/lib/libICE.so.6 (0xb71bc000)
        libXi.so.6 => /usr/lib/libXi.so.6 (0xb71b4000)
        libXrender.so.1 => /usr/lib/libXrender.so.1 (0xb71ac000)
        libXrandr.so.2 => /usr/lib/libXrandr.so.2 (0xb71a5000)
        libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0xb7135000)
        libfontconfig.so.1 => /usr/lib/libfontconfig.so.1 (0xb710a000)
        libXext.so.6 => /usr/lib/libXext.so.6 (0xb70fc000)
        libX11.so.6 => /usr/lib/libX11.so.6 (0xb700b000)
        libQtCore.so.4 => /usr/lib/libQtCore.so.4 (0xb6e8b000)
        libz.so.1 => /usr/lib/libz.so.1 (0xb6e75000)
        libgthread-2.0.so.0 => /usr/lib/libgthread-2.0.so.0 (0xb6e70000)
        librt.so.1 => /lib/tls/i686/cmov/librt.so.1 (0xb6e67000)
        libglib-2.0.so.0 => /usr/lib/libglib-2.0.so.0 (0xb6daa000)
        libpthread.so.0 => /lib/tls/i686/cmov/libpthread.so.0 (0xb6d92000)
        libdl.so.2 => /lib/tls/i686/cmov/libdl.so.2 (0xb6d8e000)
        libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0xb6c9a000)
        libm.so.6 => /lib/tls/i686/cmov/libm.so.6 (0xb6c75000)
        libgcc_s.so.1 => /lib/libgcc_s.so.1 (0xb6c6a000)
        libc.so.6 => /lib/tls/i686/cmov/libc.so.6 (0xb6b20000)
        libpq.so.5 => /usr/lib/libpq.so.5 (0xb6b03000)
        libsqlite.so.0 => /usr/lib/libsqlite.so.0 (0xb6aaa000)
        libsqlite3.so.0 => /usr/lib/libsqlite3.so.0 (0xb6a45000)
        libaudio.so.2 => /usr/lib/libaudio.so.2 (0xb6a2f000)
        libXt.so.6 => /usr/lib/libXt.so.6 (0xb69de000)
        libXfixes.so.3 => /usr/lib/libXfixes.so.3 (0xb69d9000)
        libXcursor.so.1 => /usr/lib/libXcursor.so.1 (0xb69cf000)
        libXinerama.so.1 => /usr/lib/libXinerama.so.1 (0xb69cc000)
        libexpat.so.1 => /usr/lib/libexpat.so.1 (0xb69ac000)
        libXau.so.6 => /usr/lib/libXau.so.6 (0xb69a9000)
        libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0xb69a4000)
        /lib/ld-linux.so.2 (0x80000000)
        libkrb5.so.3 => /usr/lib/libkrb5.so.3 (0xb691b000)
        libcom_err.so.2 => /lib/libcom_err.so.2 (0xb6918000)
        libk5crypto.so.3 => /usr/lib/libk5crypto.so.3 (0xb68f3000)
        libkrb5support.so.0 => /usr/lib/libkrb5support.so.0 (0xb68eb000)
        libkeyutils.so.1 => /lib/libkeyutils.so.1 (0xb68e8000)
        libresolv.so.2 => /lib/tls/i686/cmov/libresolv.so.2 (0xb68d5000)

солидно, но непонятно.
Записан

QT4, Qt5, Qt6 Debian, ArchLinux
BRE
Гость
« Ответ #7 : Февраль 04, 2009, 16:39 »

что-то вообще не то получается.
В /etc/ld.so.conf теперь такие строки:
include /etc/ld.so.conf.d/*.conf
Эта строка означает, что пути до библиотек нужно искать в файлах которые лежать в директории /etc/ld.so.conf.d.
Вот там можно добавить файлик ncreport.conf, в который записать:
/home/user/downloads/NCReport2/lib

После этого - ldconfig.
Записан
mokynis
Самовар
**
Offline Offline

Сообщений: 176


Просмотр профиля
« Ответ #8 : Февраль 05, 2009, 06:56 »

вернул, как было файл /etc/ld.so.conf, создал ncreport.conf, положил в /etc/ld.so.conf.d, выполнил sudo ldconfig.
Ничего не заругадось, наверное все прошло как надо, однако ни демо, ни программа не компилируются-демо из-за отсутствия "runner", программа из-за "undefined reference to `QGraphicsScene::eventFilter(QObject*, QEvent*)".
Может, я как-то не так саму ncreport установил? Собственно, я просто распаковал архив. Пытался скомпилировать, qmake-qt4 вроде создал Makefile, а вот make дала ошибку
Cannot find file: src.pro.
make: *** [src//Makefile] Ошибка 2
Записан

QT4, Qt5, Qt6 Debian, ArchLinux
BRE
Гость
« Ответ #9 : Февраль 05, 2009, 09:23 »

http://nocisoft.com/download/ncreport/bin/NCReport_2.1.1_Linux_bin_Qt4.3.2.tar.gz.
Этот архив содержит уже собранные библиотеки.

Может, я как-то не так саму ncreport установил? Собственно, я просто распаковал архив. Пытался скомпилировать, qmake-qt4 вроде создал Makefile, а вот make дала ошибку
Cannot find file: src.pro.
make: *** [src//Makefile] Ошибка 2
Устанавливать там нечего.
Попробуй собрать демонстрашки, они в src/demos и там уже qmake-qt4.

P.S. Никогда не использовал NCReport... Вроде это была открытая библиотека, наверное все таки лучше скачать исходники и собрать ее у себя.
« Последнее редактирование: Февраль 05, 2009, 09:26 от BRE » Записан
mokynis
Самовар
**
Offline Offline

Сообщений: 176


Просмотр профиля
« Ответ #10 : Февраль 05, 2009, 15:42 »

сил моих больше нет!!! Скачал ncreport-qt4-0.7.02.tar.gz, вроде не бинарник. qmake c make его вообще не компилирует-куча ошибок, qmake-qt4 c make долго что-то делает без ошибок, но кроме возможности просмотреть пример отчета (./ncreport n -preview) больше, кажется, ничего из этого не получается. Во всяком случае ни папки "bin", ни "lib" тут не появилось. Собственно, и дезайнера-то я там не нашел. Может плюнуть на этот NCReport? А как тогда сделать отчет?
Записан

QT4, Qt5, Qt6 Debian, ArchLinux
BRE
Гость
« Ответ #11 : Февраль 05, 2009, 16:28 »

А как тогда сделать отчет?
Можно руками генерировать html-документ, можно сделать html-шаблон и подставлять туда необходимые значения, можно еще кучу всего придумать.  Подмигивающий
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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