程序开发 · 2025年5月14日

对“cv::optflow::createOptFlow_DualTVL1()”的未定义引用

当前位置: > > > > 对“cv::optflow::createOptFlow_DualTVL1()”的未定义引用

来源:stackoverflow
2024-04-23 08:30:37
0浏览
收藏

今天将给大家带来《对“cv::optflow::createOptFlow_DualTVL1()”的未定义引用》,感兴趣的朋友请继续看下去吧!以下内容将会涉及到等等知识点,如果你是正在学习Golang或者已经是大佬级别了,都非常欢迎也希望大家都能给我建议评论哈~希望能帮助到大家!

问题内容

我已经从 https://github.com/hybridgroup/gocv 成功安装了 gocv 包,并且我正在尝试运行我在 go 项目中封装在 c 库中的 c++ 代码。但是当我尝试调用 cv::optflow::createoptflow_dualtvl1() 方法时似乎出现问题。我收到未定义的参考错误。我不知道为什么,因为在 optflow.hpp 文件中有一个名为 createoptflow_dualtvl1()

的方法

这是我的 main.go 文件:

package main

/*
#cgo LDFLAGS: -L/usr/local/lib -lopencv_core -lopencv_video -lopencv_videoio -lopencv_highgui -lopencv_tracking -lopencv_optflow
#include "dense_flow.h"
*/
import (
       "C"
       "gocv.io/x/gocv"
)

func main(){

}

注意: dense_flow.h 是我声明 calculatet4vl1() 函数的地方,该函数调用 createoptflow_dualtvl1() 内的 dense_flow.cpp 文件。

操作系统及版本:ubuntu 18.04

使用的opencv版本:4.0.0

使用的gocv版本:0.18

go版本:1.12

解决方案

该光流从 contrib 模块导入。 您需要高级导入():“gocv.io/x/gocv/contrib”

本篇关于《对“cv::optflow::createOptFlow_DualTVL1()”的未定义引用》的介绍就到此结束啦,但是学无止境,想要了解学习更多关于Golang的相关知识,请关注公众号!