【发布时间】:2017-06-23 15:54:28
【问题描述】:
我正在 Ubuntu 16.04 上构建 OpenCV 3.2
我包含了许多库(额外的模块、TBB、Eigen 等),一切都在编译并正常工作 我唯一的问题是选择 WITH_QT 选项时 虽然已安装并配置了可执行路径,我什至测试了创建 QT 应用程序,但在编译 opencv_contrib 示例时仍然给我找不到参考错误
../../lib/libopencv_world.so.3.2.0: referência indefinida para `vtable for cvv::qtutil::KeyPointSettingsSelector'
../../lib/libopencv_world.so.3.2.0: referência indefinida para `vtable for cvv::qtutil::SlotQString'
../../lib/libopencv_world.so.3.2.0: referência indefinida para `vtable for cvv::view::TranslationMatchView'
../../lib/libopencv_world.so.3.2.0: referência indefinida para `CvButtonbar::staticMetaObject'
../../lib/libopencv_world.so.3.2.0: referência indefinida para `vtable for cvv::gui::FilterCallTab'
../../lib/libopencv_world.so.3.2.0: referência indefinida para `vtable for cvv::view::ImageView'
../../lib/libopencv_world.so.3.2.0: referência indefinida para `vtable for cvv::qtutil::MatchSettingsSelector'
../../lib/libopencv_world.so.3.2.0: referência indefinida para `vtable for cvv::qtutil::Slot'
../../lib/libopencv_world.so.3.2.0: referência indefinida para `vtable for cvv::qtutil::MatchManagement'
../../lib/libopencv_world.so.3.2.0: referência indefinida para `typeinfo for cvv::qtutil::MatchSelection'
../../lib/libopencv_world.so.3.2.0: referência indefinida para `vtable for cvv::qtutil::OverlayFilterWidget'
../../lib/libopencv_world.so.3.2.0: referência indefinida para `vtable for cvv::qtutil::ChangedPixelsWidget'
../../lib/libopencv_world.so.3.2.0: referência indefinida para `cvv::qtutil::SignalMatRef::signal(cv::Mat&) const'
../../lib/libopencv_world.so.3.2.0: referência indefinida para `vtable for cvv::gui::OverviewPanel'
../../lib/libopencv_world.so.3.2.0: referência indefinida para `cvv::qtutil::Signal::signal() const'
../../lib/libopencv_world.so.3.2.0: referência indefinida para `vtable for cvv::qtutil::STFLQueryWidget'
../../lib/libopencv_world.so.3.2.0: referência indefinida para `vtable for cvv::qtutil::KeyPointSelectionSelector'
有什么解决方法吗?
更新:
尝试禁用“cvv”模块:cmake -DBUILD_opencv_cvv=OFF
现在我得到了:
[ 47%] Linking CXX executable ../../bin/optflow-example-motempl
../../lib/libopencv_world.so.3.2.0: referência indefinida para .vtable for CvWinProperties' ../../lib/libopencv_world.so.3.2.0: refer�./../lib/�libopencv_world.so.3.2.0ncia: indefinidarefer paravtable for �CvCheckBox�ncia'
indefinida. para./ ..vtable/ libfor/ libopencv_world.so.3.2.0CvWinProperties: ' refer.�./�.ncia. indefinida/lib /libopencv_world.so.3.2.0: referênciapara indefinida para vtable for CvPushButton' .vtable. for/../lib/libopencv_world.so.3.2.0: referência indefinidaCvCheckBox ' paravtable for GuiReceiver'
【问题讨论】:
-
看起来你没有链接到 qtutil。