Название: Преобразование приложения в библиотеку и добавление в свой проект. Отправлено: ЙадоФитый ПлюсЧ от Апрель 27, 2017, 12:24 Добрый день.
Для своего проекта (GUI к PDFtk и ImageMagic) хотел сделать вьювер файлов. Но нашел готовый qpdfview, который полностью устраивает по функционалу. Решил попробовать его добавить к себе в проект в качестве библиотеки. В проект pdftk необходимые изменения, чтобы получилась либа. Ну точнее, я так думаю, что правильно внес. Откомпилировал (ошибок не обнаружилось). Теперь пытаюсь добавить эту либу в свой проект и получаю ошибку компилятора: Код
Подскажите, что я делаю не так? Исходники во вложении. Название: Re: Преобразование приложения в библиотеку и добавление в свой проект. Отправлено: __Heaven__ от Апрель 27, 2017, 14:45 Судя по ошибке, забыт какой-нибудь
Код
Название: Re: Преобразование приложения в библиотеку и добавление в свой проект. Отправлено: qate от Апрель 27, 2017, 14:46 так он и говорит - нет такого класса qpdfview::FileImageView
есть какойто qpdfview::Settings::FileImageView - но наверно это не то а зачем pdf смотреть средствами qt, системный чем плох ? Название: Re: Преобразование приложения в библиотеку и добавление в свой проект. Отправлено: ЙадоФитый ПлюсЧ от Апрель 28, 2017, 05:37 Судя по ошибке, забыт какой-нибудь Ну вообще-то это класс, который предоставляет программа qpdfview. На хедар с ним я инклюд сделал.Код
так он и говорит - нет такого класса qpdfview::FileImageView Системный не подходит по двум причинам:есть какойто qpdfview::Settings::FileImageView - но наверно это не то а зачем pdf смотреть средствами qt, системный чем плох ? - мне нужно использовать просмоторщик в своем приложении (причем на разных формах) - приложение должно быть кроссплатформенно. Сам класс FileImageView объявлен так: Код: #include <QMainWindow> Название: Re: Преобразование приложения в библиотеку и добавление в свой проект. Отправлено: ЙадоФитый ПлюсЧ от Апрель 28, 2017, 07:39 Разобрался.
Похоже нельзя импортировать класс унаследованный от MainWindow. Создал класс, унаследованный от QWidget, перетащил туда все из хедара MainWindow. Собрал. что-то даже заработало из либы. Теперь нужно исправить то, что пришлось изменить, чтобы работало как надо. Название: Re: Преобразование приложения в библиотеку Отправлено: __Heaven__ от Апрель 28, 2017, 09:13 Судя по ошибке, забыт какой-нибудь Ну вообще-то это класс, который предоставляет программа qpdfview. На хедар с ним я инклюд сделал.Код
В mainwindow.h в 9 строке имеется только предварительное объявление, о чём и сообщает компилятор при сборке mainwindow.cpp Название: Re: Преобразование приложения в библиотеку &#38;# Отправлено: ЙадоФитый ПлюсЧ от Май 10, 2017, 12:14 Я скачал проект. В какой строке сделан инклуд? Все-таки проблема оказалось в том, что нельзя создавать дочерние объекты унаследованные от класса mainwindow. Поэтому я не смог правильно проинклюдить.В mainwindow.h в 9 строке имеется только предварительное объявление, о чём и сообщает компилятор при сборке mainwindow.cpp Сделал тестовый проект (без либы), где правильно все проинклюжено и основной функционал работает. Теперь буду исправлять панель инструментов, чтобы и она работала, а не мешала. Как только исправлю это, буду снова делать либу. |