Помогите собрать Similar Vision

Ответить
Аватара пользователя
Zeffanyx
Сообщения: 1443
Зарегистрирован: 12 сен 2011, 14:25
Operating system: Rosa Fresh 2021.1
Откуда: Санкт-Петербург

Помогите собрать Similar Vision

Сообщение Zeffanyx » 01 мар 2017, 16:13

Пытаюсь скомпилировать программу Similar Vision:
https://github.com/stereomatchingkiss/similar_vision
Она требует, в том числе, модуль Img_hash для OpenCV. Его мне удалось собрать, но при компиляции самой Similar Vision всё равно сыпятся ошибки:

Код: Выделить всё

advance_setting_dialog.o: In function `std::_Function_handler<cv::Ptr<cv::img_hash::ImgHashBase> (), advance_setting_dialog::get_hash_algo() const::
...
single_bar_plot.cpp:(.text+0x270): undefined reference to `QwtAbstractScaleDraw::setTickLength(QwtScaleDiv::TickType, double)'
single_bar_plot.cpp:(.text+0x281): undefined reference to `QwtAbstractScaleDraw::setTickLength(QwtScaleDiv::TickType, double)'
single_bar_plot.cpp:(.text+0x296): undefined reference to `QwtAbstractScaleDraw::setTickLength(QwtScaleDiv::TickType, double)'
single_bar_plot.cpp:(.text+0x2a5): undefined reference to `QwtAbstractScaleDraw::enableComponent(QwtAbstractScaleDraw::ScaleComponent, bool)'
single_bar_plot.cpp:(.text+0x2bf): undefined reference to `QwtScaleDraw::setLabelRotation(double)'
single_bar_plot.cpp:(.text+0x2cc): undefined reference to `QwtScaleDraw::setLabelAlignment(QFlags<Qt::AlignmentFlag>)'
single_bar_plot.cpp:(.text+0x2da): undefined reference to `QwtPlot::setAxisScaleDraw(int, QwtScaleDraw*)'
single_bar_plot.cpp:(.text+0x2ec): undefined reference to `QwtPlot::setAxisTitle(int, QString const&)'
single_bar_plot.cpp:(.text+0x2fc): undefined reference to `QwtPlot::setAxisMaxMinor(int, int)'
single_bar_plot.cpp:(.text+0x311): undefined reference to `QwtScaleDraw::QwtScaleDraw()'
single_bar_plot.cpp:(.text+0x326): undefined reference to `QwtAbstractScaleDraw::setTickLength(QwtScaleDiv::TickType, double)'
single_bar_plot.cpp:(.text+0x334): undefined reference to `QwtPlot::setAxisScaleDraw(int, QwtScaleDraw*)'
single_bar_plot.cpp:(.text+0x33c): undefined reference to `QwtPlot::plotLayout()'
single_bar_plot.cpp:(.text+0x34b): undefined reference to `QwtPlotLayout::setCanvasMargin(int, int)'
single_bar_plot.cpp:(.text+0x384): undefined reference to `QwtScaleDraw::setLabelRotation(double)'
single_bar_plot.cpp:(.text+0x39c): undefined reference to `QwtScaleDraw::~QwtScaleDraw()'
single_bar_plot.o: In function `single_bar_plot::single_bar_plot(QWidget*)':
single_bar_plot.cpp:(.text+0x3d0): undefined reference to `QwtPlot::QwtPlot(QWidget*)'
single_bar_plot.cpp:(.text+0x41c): undefined reference to `QwtPlotBarChart::QwtPlotBarChart(QString const&)'
single_bar_plot.cpp:(.text+0x45f): undefined reference to `QwtPlotAbstractBarChart::setLayoutPolicy(QwtPlotAbstractBarChart::LayoutPolicy)'
single_bar_plot.cpp:(.text+0x470): undefined reference to `QwtPlotAbstractBarChart::setLayoutHint(double)'
single_bar_plot.cpp:(.text+0x47e): undefined reference to `QwtPlotAbstractBarChart::setSpacing(int)'
single_bar_plot.cpp:(.text+0x4d9): undefined reference to `QwtPlotCanvas::QwtPlotCanvas(QwtPlot*)'
single_bar_plot.cpp:(.text+0x503): undefined reference to `QwtPlotCanvas::setBorderRadius(double)'
single_bar_plot.cpp:(.text+0x579): undefined reference to `QwtPlot::setCanvas(QWidget*)'
single_bar_plot.cpp:(.text+0x585): undefined reference to `QwtPlotItem::attach(QwtPlot*)'
single_bar_plot.cpp:(.text+0x59c): undefined reference to `QwtPlot::setAutoReplot(bool)'
single_bar_plot.cpp:(.text+0x5b3): undefined reference to `QwtColumnSymbol::QwtColumnSymbol(QwtColumnSymbol::Style)'
single_bar_plot.cpp:(.text+0x5c7): undefined reference to `QwtColumnSymbol::setLineWidth(int)'
single_bar_plot.cpp:(.text+0x5d8): undefined reference to `QwtColumnSymbol::setFrameStyle(QwtColumnSymbol::FrameStyle)'
single_bar_plot.cpp:(.text+0x614): undefined reference to `QwtColumnSymbol::setPalette(QPalette const&)'
single_bar_plot.cpp:(.text+0x62c): undefined reference to `QwtPlotBarChart::setSymbol(QwtColumnSymbol*)'
single_bar_plot.cpp:(.text+0x67e): undefined reference to `QwtPlot::~QwtPlot()'
single_bar_plot.o: In function `single_bar_plot::set_data(QVector<double> const&, QStringList const&, QColor const&)':
single_bar_plot.cpp:(.text+0x72c): undefined reference to `QwtPlotBarChart::setSamples(QVector<double> const&)'
single_bar_plot.cpp:(.text+0x773): undefined reference to `QwtColumnSymbol::setPalette(QPalette const&)'
single_bar_plot.o: In function `single_bar_plot::set_main_title(QString const&)':
single_bar_plot.cpp:(.text+0x151): undefined reference to `QwtPlot::setTitle(QString const&)'
single_bar_plot.o: In function `(anonymous namespace)::label_scale_draw::~label_scale_draw()':
single_bar_plot.cpp:(.text+0x19d): undefined reference to `QwtScaleDraw::~QwtScaleDraw()'
single_bar_plot.o: In function `single_bar_plot::set_orientation(Qt::Orientation)':
single_bar_plot.cpp:(.text+0x36d): undefined reference to `QwtPlot::updateCanvasMargins()'
single_bar_plot.o: In function `single_bar_plot::~single_bar_plot()':
single_bar_plot.cpp:(.text._ZN15single_bar_plotD2Ev[_ZN15single_bar_plotD5Ev]+0x62): undefined reference to `QwtPlot::~QwtPlot()'
single_bar_plot.o: In function `single_bar_plot::~single_bar_plot()':
single_bar_plot.cpp:(.text._ZN15single_bar_plotD0Ev[_ZN15single_bar_plotD5Ev]+0x61): undefined reference to `QwtPlot::~QwtPlot()'
single_bar_plot.o:(.data.rel.ro._ZTI15single_bar_plot[_ZTI15single_bar_plot]+0x10): undefined reference to `typeinfo for QwtPlot'
single_bar_plot.o:(.data.rel.ro+0x10): undefined reference to `typeinfo for QwtScaleDraw'
...
moc_pics_find_img_hash.o: In function `pics_find_img_hash::~pics_find_img_hash()':
moc_pics_find_img_hash.cpp:(.text._ZN18pics_find_img_hashD2Ev[_ZN18pics_find_img_hashD5Ev]+0x65): undefined reference to `cv::Mat::deallocate()'
moc_pics_find_img_hash.cpp:(.text._ZN18pics_find_img_hashD2Ev[_ZN18pics_find_img_hashD5Ev]+0xc9): undefined reference to `cv::fastFree(void*)'
moc_pics_find_img_hash.o: In function `pics_find_img_hash::~pics_find_img_hash()':
moc_pics_find_img_hash.cpp:(.text._ZN18pics_find_img_hashD0Ev[_ZN18pics_find_img_hashD5Ev]+0x65): undefined reference to `cv::Mat::deallocate()'
moc_pics_find_img_hash.cpp:(.text._ZN18pics_find_img_hashD0Ev[_ZN18pics_find_img_hashD5Ev]+0xc9): undefined reference to `cv::fastFree(void*)'
collect2: error: ld returned 1 exit status
Makefile:317: ошибка выполнения рецепта для цели «similar_vision»
make: *** [similar_vision] Ошибка 1
Если у кого-то получится собрать - дайте знать.
Сила воли — это масса воли умноженная на ускорение воли.

Аватара пользователя
VictorR2007
Сообщения: 7251
Зарегистрирован: 12 сен 2011, 13:00
Operating system: ROSA 2023.1

Re: Помогите собрать Similar Vision

Сообщение VictorR2007 » 01 мар 2017, 20:35

А на какой Росе эта ошибка.
А то там нужен OpenCV3.x, а у Роса 2014.1 только OpenCV2.x.
OpenCV3.x есть на 2016.1.
З.Ы.
Поиск дал это, может что подскажет
https://www.linux.org.ru/forum/development/13253018

Аватара пользователя
Zeffanyx
Сообщения: 1443
Зарегистрирован: 12 сен 2011, 14:25
Operating system: Rosa Fresh 2021.1
Откуда: Санкт-Петербург

Re: Помогите собрать Similar Vision

Сообщение Zeffanyx » 01 мар 2017, 22:02

Rosa R9. OpenCV я уже собрал руками. Может QWT тоже предполагается пересобрать?
Сила воли — это масса воли умноженная на ускорение воли.

trs
Сообщения: 1939
Зарегистрирован: 07 сен 2015, 16:08
Operating system: -

Re: Помогите собрать Similar Vision

Сообщение trs » 02 мар 2017, 09:18

"undefined reference" означает, что компоновщик не находит требуемое в библиотечных файлах.

В то же время по крайней мере первая сигнатура в библиотеке присутсвует:

Код: Выделить всё

$ nm -CD libqwt-qt5.so.6.1.3 | grep 'QwtAbstractScaleDraw::setTickLength(QwtScaleDiv::TickType, double)'
0000000000074e00 T QwtAbstractScaleDraw::setTickLength(QwtScaleDiv::TickType, double)
То есть решение для этого случая — "указать либу" — предложили по ссылке Виктора https://www.linux.org.ru/forum/developm ... d=13257102

Но, как пишут авторы, "будет поддерживать Ubuntu в будущем".

Аватара пользователя
Zeffanyx
Сообщения: 1443
Зарегистрирован: 12 сен 2011, 14:25
Operating system: Rosa Fresh 2021.1
Откуда: Санкт-Петербург

Re: Помогите собрать Similar Vision

Сообщение Zeffanyx » 02 мар 2017, 12:23

Нашёл ещё такое:
http://stackoverflow.com/questions/1113 ... -to-opencv
добавил строк include со всем тем, что по идее содержится в ошибках, но что-то не помогло.
Ладно, буду ждать полноценный порт для Linux.
Сила воли — это масса воли умноженная на ускорение воли.

Ответить

Вернуться в «Программы РОСА десктоп»