我已经在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主gpu_阈值。cpp“pkg config opencv--cflags--libs'-lopencv\u gpu-lopencv\u核心
g-L/usr/local/lib-o主gpu\U阈值。cpp“pkg config opencv--cflags--libs'-lopencv\u gpu-lopencv\u核心
我试图用这些方法编译它,但仍然给出相同的警告和错误。
/usr/bin/ld:警告:libopencv_core。所以2.4,需要/usr/lib/gcc/x86_64-linux-gnu/5/./..//x86_64-linux-gnu/libopencv_gpu。因此,可能与libopencv_核心冲突。所以3.3/usr/bin/ld:/tmp/ccdhLGL0。o: 未定义对符号“\u ZN2cv3gpu6GpuMat7releaseEv”//usr/lib/x86\u 64-linux-gnu/libopencv\u core的引用。所以2.4:添加符号时出错:命令行集合中缺少DSO 2:错误:ld返回1退出状态
我该怎么办?
OpenCV 3.3中没有opencv2/gpu/gpu.hpp
。如果您的代码编译,则意味着您的机器上同时有OpenCV 2.4和3.3。
在OpenCV 3.3中,包括:
#include <opencv2/core/cuda.hpp>
然后使用
cv::cuda::GpuMat img;
请参阅此处的详细信息。
编辑:我刚刚注意到你的编译方法。当使用pkg-config-opencv-cflags-libs时,您不再需要手动添加libopencv文件。
只需要做:g-o maingpu_thresh.cpp'pkg-config opencv--c标志--libs'
问题内容: 最近,我不得不在PC上重新安装Linux Mint。我重新安装了所有库,例如GLFW,并遇到了从未见过的错误。不幸的是,由于无法找到对我有用的修复程序,我的google- fu技能似乎无法弥补这个错误。旁注:这些程序在我的旧安装中可以很好地编译,并且在运行Linux Mint 17.2的笔记本电脑上也可以完美地编译。 这是我用来编译的编译语句: 这是终端向我吐出的东西: 所以,如果有人
问题内容: 我正在尝试像这样编译C ++程序: 但是我收到以下错误: 我不知道这个错误是什么意思。任何帮助将不胜感激。 问题答案: DSO在这里表示动态共享对象;由于错误消息指出命令行中缺少该消息,因此我想您必须将其添加到命令行中。 也就是说,尝试添加到命令行。
问题内容: 我对使用Windows的Linux(使用Ubuntu 14.04 LTS 64位)非常陌生,并且正尝试移植到我现有的CUDA项目上。 通过链接时 我遇到以下错误: 答案似乎与本文中的解决方案密切相关(奇怪的链接错误:命令行中缺少DSO),尽管鉴于我对Linux的经验不足,所以我无法使其适应我的问题。 关于可能的问题有什么想法? 这是编译期间的完整输出:https : //gist.gi
下面是完整的输出:-
我从卡拉夫那里得到以下消息: 我不明白这个错误意味着什么问题在哪里 我使用的是karaf 4.0.10版,运行的是,我想安装自定义business defa数据库。我希望有人能解释一下这个错误是什么意思。我仔细检查了maven存储库中提到的ojdbc8_12.2.0.1.0_ojdbc8-12.2.0.1.0。走对了路。
问题内容: 我需要使用ProcessBuilder构建以下命令: 我尝试使用以下代码: 但是,这会将以下内容传递给系统(已使用Sysinternals Process Monitor进行了验证) 注意前面的引号和后面的两个引号。我需要除去那些多余的引号,因为它们会使调用失败。有谁知道如何做到这一点? 问题答案: 据我了解,由于ProcessBuilder不知道如何将参数传递给命令,因此需要将参数分