我正在尝试在可视代码工作室(ubuntu)中使用 Opencv 在 C++ 中编写代码。
我按照下一个教程编译了opencv:http: //www.codebind.com/cpp-tutorial/install-opencv-ubuntu-cpp/
而且我想使用 Visual code studio,但我无法让它工作。
我的 cpp 代码如下:
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <iostream>
// using namespace cv;
// using namespace std;
int main(int argc, char const *argv[])
{
std::cout << "Hello World\n";
cv::Mat image;
image = cv::imread("image.jpg"); // Read the file
// namedWindow("show image",WINDOW_AUTOSIZE);
//imshow("show image", image);
std::cin.get();
return 0;
}
我的 c_cpp_propierties.json 文件是下一个:
{
"configurations": [
{
"name": "Linux",
"browse": {
"path": [
"/opt/opencv/include/opencv",
"${workspaceFolder}"
],
"limitSymbolsToIncludedHeaders": true
},
"includePath": [
"/opt/opencv/include/opencv",
"${workspaceFolder}/**"
],
"defines": [],
"compilerPath": "/usr/bin/gcc",
"cStandard": "c11",
"cppStandard": "c++17",
"intelliSenseMode": "clang-x64"
}
],
"version": 4
}
任务json是
{
"version": "2.0.0",
"tasks": [
{
"label": "build hello world",
"type": "shell",
"command": "g++",
"args": [
"-g", "canny.cpp"
],
"group": {
"kind": "build",
"isDefault": true
}
}
]
}
当我编译代码时,我收到以下输出:
执行任务:g++ -g canny.cpp <
/tmp/cc01zEdA.o: 在函数main':
/home/beaa/Estudio/CPP/basicOpenCV/canny.cpp:13: undefined reference tocv::imread(cv::String const&, int)' /tmp/cc01zEdA.o: 在函数cv::String::String(char const*)':
/usr/local/include/opencv2/core/cvstd.hpp:597: undefined reference tocv::String::allocate(unsigned long)' /tmp/cc01zEdA.o : 在函数cv::String::~String()':
/usr/local/include/opencv2/core/cvstd.hpp:643: undefined reference tocv::String::deallocate()' /tmp/cc01zEdA.o: 在函数cv::Mat::~Mat()':
/usr/local/include/opencv2/core/mat.inl.hpp:682: undefined reference tocv::fastFree(void*)' /tmp/cc01zEdA.o: 在函数cv::Mat::release()':
/usr/local/include/opencv2/core/mat.inl.hpp:794: undefined reference tocv::Mat::deallocate()' /tmp/cc01zEdA.o: 在函数cv::Mat::operator=(cv::Mat&&)':
/usr/local/include/opencv2/core/mat.inl.hpp:1357: undefined reference tocv::fastFree(void*)' collect2: 错误: ld 返回 1 退出状态 El proceso del terminal finalizó con el código de salida: 1
如您所见,我使用 gcc 作为编译器。
我想找不到 opencv 路由,但我试图修复它,但我无法解决。
提前致谢