Итак, у меня есть два компьютера на компьютере. Я установил OpenCV и написал программу, которая использует библиотеку. На втором компьютере (B) я хочу запустить и идеально скомпилировать программу без необходимости установки библиотеки OpenCV.
моя структура папок:
Program
|-- Main.h
|-- Main.cpp
|-- Driver.h
|-- ...
|-- opencv2
| |-- aruco
| |-- bioinspired
| |-- ...
| |-- ...
| |-- core.hpp
| |-- ...
И я включаю opencv в свой Программа, подобная этой:
#include "opencv2/core/core.hpp"
#include "opencv2/highgui/highgui.hpp"
#include "opencv2/imgproc/imgproc.hpp"
Так как я работаю в VS Code У меня есть задачи. json:
/* tasks.json */
{
"version": "2.0.0",
"tasks": [
{
"label": "build",
"command": "clang++",
"args": [
"-std=c++17",
"-o",
"Main", // executable
"Main.cpp", // main file
"Driver.cpp",
"DetectRegions.cpp",
"Plate.cpp",
"-g",
"-v",
"-debug",
"$(pkg-config", //here I see biggest problem
"--cflags",
"--libs",
"opencv4)" //as well as here
],
"type": "shell",
"presentation": {
"echo": true,
"reveal": "always",
"panel": "shared"
},
"problemMatcher": {
"owner": "cpp",
"fileLocation": [
"relative",
"${workspaceRoot}"
],
"pattern": {
"regexp": "^(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$",
"file": 1,
"line": 2,
"column": 3,
"severity": 4,
"message": 5
}
}
}
]
}
Ну, это аргументы, которые я нашел на inte rnet, который работал для кого-то еще. Он компилируется на компьютере B, но я уверен, что это причина того, что он не работает на компьютере B. Поскольку я связываю установленную библиотеку OpenCV, а не ту, которая находится в папке с моей программой.
Но если Я пытаюсь переписать «args» на что-то вроде этого, это не работает.
"args": [
"-std=c++17",
"-o",
"Main", // executable
"Main.cpp", // main file
"Driver.cpp",
"DetectRegions.cpp",
"Plate.cpp",
"-g",
"-v",
"-debug",
"$(",
"--cflags",
"--libs",
"./opencv2)"
],
Не могли бы вы, ребята, помогите мне с этим и укажите мне, как сделать мою программу переносимой и компилируемой просто используя папку "opencv2", которую я несу со всеми заголовками и cpp файлами?
Спасибо! С уважением, Михал