Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ libopencv_core.so.2.4:添加符号时出错:命令行中缺少DSO_C++_Linux_Opencv_Gcc_G++ - Fatal编程技术网

C++ libopencv_core.so.2.4:添加符号时出错:命令行中缺少DSO

C++ libopencv_core.so.2.4:添加符号时出错:命令行中缺少DSO,c++,linux,opencv,gcc,g++,C++,Linux,Opencv,Gcc,G++,我已经将OpenCV 3.3.0安装到Ubuntu 16.04。我只是想编译这段代码 #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

我已经将OpenCV 3.3.0安装到Ubuntu 16.04。我只是想编译这段代码

#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;
}
#包括
使用名称空间std;
#包括“opencv2/opencv.hpp”
#包括“opencv2/gpu/gpu.hpp”
#包括
#包括
#包括
使用名称空间cv;
int main(int argc,char*argv[])
{
尝试
{
int-kernel_-size=3;
cv::Mat src_host=cv::imread(“crack2.jpg”);
cv::Mat gray_img,avg,内核;
cv::gpu::GpuMat dst,src;
src.upload(src_主机);
cv::gpu::threshold(src、dst、128.0、255.0、cv_THRESH_二进制);
cv::Mat结果\主机;
下载(结果/主机);

std::cout在OpenCV 3.3中没有
opencv2/gpu/gpu.hpp
。如果您的代码已编译,则意味着您的计算机上同时安装了OpenCV 2.4和3.3

在OpenCV 3.3中,包括:

#include <opencv2/core/cuda.hpp>
见详情

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


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

您是如何安装opencv 3.3的?您的机器上似乎有两个版本的opencv。根据参考资料,我在“make-j 4”中停止了第一次安装由于我忘记了Adv.UnCuDA=在FLAG上,所以我在Ubuntu之前也没有使用C++和OpenCV,如果我运行这个PKG配置——MODATEOPENCV,它只显示1个结果到Chut.StAccOfFultOffice和连接组:<代码> OpenCV相关的< /C>。GPUIJASH.CPP:79:7:错误:CV::GPU没有声明CV::GPU::GpuMat dst,SRC;U。n对'cv::gpu::GpuMat::upload(cv::Mat const&')的详细引用以及类似的一系列错误
cv::cuda::GpuMat img;