【问题标题】:Linking error when I include dnn module in opencv 3.1.0当我在 opencv 3.1.0 中包含 dnn 模块时出现链接错误
【发布时间】:2016-05-08 15:59:29
【问题描述】:

我尝试使用 Opencv 3.1.0 的 dnn 模块进行一些对象检测,我在此处按照教程进行操作:Opencv dnn module tutorial

据我了解,包含 dnn 模块的额外模块应使用 Opencv 源构建。所以我遵循这个教程:Build Opencv with Extra Modules

但是,当我尝试在 Microsoft Visual Studio 2013 中编译这个简单的代码时,

#include <opencv2\dnn.hpp>
#include <opencv2\core.hpp>
using namespace cv;
using namespace cv::dnn;

void main() {

}

1>----- 重建所有已启动:项目:WithDnnModule,配置:调试 Win32 ------ 1> DnnTest.cpp 1>DnnTest.obj:错误 LNK2019:无法解析的外部符号“private: void __thiscall cv::String::deallocate(void)”(?deallocate@String@cv@@AAEXXZ) 在函数“public: __thiscall cv::String”中引用::~String(void)" (??1String@cv@@QAE@XZ) 1>C:\Rescourse\Project\opencvdnn\WithDnnModule\Debug\WithDnnModule.exe : 致命错误 LNK1120: 1 unresolved externals ==========全部重建:0成功,1失败,0跳过==========

如果我不包含opencv2\dnn.hpp,我可以成功构建代码。

请帮帮我。

【问题讨论】:

  • 你需要链接opencv .lib
  • 你的意思是 opencv_core310d.lib 和 opencv_dnn310d.lib 之类的?我确定我做到了。

标签: c++ opencv visual-studio-2013


【解决方案1】:

我有一个非常相似的问题。原来我试图链接到 x64 opencv lib/dll,但我的项目设置为 x86。

【讨论】:

  • 哈哈。你帮我!谢谢!
【解决方案2】:

尝试使用this tutorial 在您机器上的自定义目录中安装 OpenCV 3.10。是否安装了任何其他 OpenCV 实例都没关系。

我猜你会安装在/home/ubuntu/opencv310:

对于安装,您应该通过将 contrib 目录 somwhere 像 /home/ubuntu/opencv_contrib 来运行以下命令:

ccmake -DCMAKE_INSTALL_PREFIX=/home/ubuntu/opencv310 -DWITH_CUDA=ON  -DBUILD_TESTS=OFF -DBUILD_PERF_TESTS=OFF -DOPENCV_EXTRA_MODULES_PATH=/home/ubuntu/opencv_contrib/modules ..

你将运行this example:

g++ -I/home/ubuntu/opencv310/include -L/home/ubuntu/opencv310/lib  caffe.cpp  -lopencv_bgsegm -lopencv_bioinspired -lopencv_calib3d -lopencv_ccalib -lopencv_core -lopencv_datasets -lopencv_face -lopencv_features2d -lopencv_flann -lopencv_highgui -lopencv_imgcodecs -lopencv_imgproc  -lopencv_line_descriptor -lopencv_ml -lopencv_objdetect -lopencv_optflow -lopencv_photo -lopencv_reg -lopencv_rgbd -lopencv_saliency -lopencv_shape -lopencv_stitching -lopencv_superres -lopencv_surface_matching -lopencv_text -lopencv_tracking -lopencv_videoio -lopencv_video -lopencv_videostab -lopencv_xfeatures2d -lopencv_ximgproc -lopencv_xobjdetect -lopencv_xphoto -lopencv_dnn -o caffe

现在您可以使用 ./caffe 运行它。

【讨论】:

    【解决方案3】:

    您没有包含正确的库。 此包含将为您提供所有 OpenCV 库:

    包括“opencv2/opencv.hpp”

    【讨论】:

      猜你喜欢
      • 2019-12-06
      • 1970-01-01
      • 2014-11-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-12-07
      • 1970-01-01
      • 2021-02-03
      相关资源
      最近更新 更多