gpt4 book ai didi

c++ - libopencv_core.so.2.4 : error adding symbols: DSO missing from command line

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:38:14 26 4
gpt4 key购买 nike

我已经在 Ubuntu 16.04 上安装了 OpenCV 3.3.0。只想编译这段代码。

#include <iostream>
using namespace std;
#include "opencv2/opencv.hpp"
#include "opencv2/gpu/gpu.hpp"
#include <opencv2/opencv.hpp>
#include <opencv2/imgproc/imgproc.hpp>
#include <cmath>

using namespace cv;

int main(int argc, char* argv[])
{
try
{
int kernel_size = 3;
cv::Mat src_host = cv::imread("crack2.jpg");
cv::Mat gray_img, avg, kernel;
cv::gpu::GpuMat dst, src;
src.upload(src_host);

cv::gpu::threshold(src, dst, 128.0, 255.0, CV_THRESH_BINARY);

cv::Mat result_host;
dst.download(result_host);

std::cout<< "Done!!!" <<std::endl;

}catch(const cv::Exception& ex)
{
std::cout<<"Error: " << ex.what() << std::endl;
}
return 0;
}

g++ -o main gpu_thresh.cpp 'pkg-config opencv --cflags --libs' -lopencv_gpu -lopencv_core

g++ -L/usr/local/lib -o main gpu_thresh.cpp 'pkg-config opencv --cflags --libs' -lopencv_gpu -lopencv_core

我尝试用这些方法编译它,但仍然给出相同的警告和错误。

/usr/bin/ld: warning: libopencv_core.so.2.4, needed by /usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu/libopencv_gpu.so, may conflict with libopencv_core.so.3.3 /usr/bin/ld: /tmp/ccdhLGL0.o: undefined reference to symbol '_ZN2cv3gpu6GpuMat7releaseEv' //usr/lib/x86_64-linux-gnu/libopencv_core.so.2.4: error adding symbols: DSO missing from command line collect2: error: ld returned 1 exit status

我该怎么办?

最佳答案

OpenCV 3.3 中没有opencv2/gpu/gpu.hpp。如果您的代码可以编译,则意味着您的机器上同时安装了 OpenCV 2.4 和 3.3。

在 OpenCV 3.3 中,包括:

#include <opencv2/core/cuda.hpp>

然后使用

cv::cuda::GpuMat img;

查看详情 here .

编辑:我刚刚注意到你的编译方法。使用 pkg-config opencv --cflags --libs 时,您不再需要手动添加 libopencv 文件。

只需执行:g++ -o main gpu_thresh.cpp 'pkg-config opencv --cflags --libs'

关于c++ - libopencv_core.so.2.4 : error adding symbols: DSO missing from command line,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46025725/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com