【发布时间】:2020-05-02 07:31:58
【问题描述】:
我正在尝试根据these instructions 构建OpenCV。使用 CMake 生成后,我在 build 文件夹中打开了 OpenCV.sln,切换到 Release 模式并成功构建了 ALL_BUILD。但是当我尝试在 CMake 下构建 INSTALL 选项时,我收到如下错误:
Error LNK2001 unresolved external symbol "public: virtual struct QMetaObject const * __cdecl cvv::qtutil::Signal::metaObject(void)const "
Error LNK2019 unresolved external symbol "public: void __cdecl cvv::qtutil::ZoomableImage::updateConversionResult(class cv::Mat const &,enum cvv::qtutil::ImageConversionResult)const "
...
我正在使用 Visual Studio 19 在 Windows 10 上安装 OpenCV 4.2。我该如何解决这个问题?
这是 Visual Studio 中错误消息的图像:
【问题讨论】:
-
您是否执行了第 9 步:“为安装 OpenCV 设置标志”中的步骤?另外,this 线程可能会有所帮助。
-
是的,我完全按照它说的执行了第 9 步。该线程建议关闭 opencv_world。这是一个好主意吗?我以后可能需要它。如果必须,我是否应该删除
build文件夹并从头开始? -
我在启用 opencv_world 的情况下成功构建
-
是的,但它也建议将 CMake 变量
BUILD_opencv_cvv设置为OFF,这似乎与您的问题更相关。我不确定你是否需要那个包?是的,如果您进行了多项与 CMake 相关的更改并且您认为 CMake 缓存可能已损坏或不正确,则删除build文件夹并从头开始可能会有所帮助。 -
@squareskittles 关闭了
BUILD_opencv_cvv工作。
标签: c++ visual-studio opencv build cmake