Я пытаюсь собрать простую программу в VSCode, которая использует OpenCV, уже прочитала тысячи постов в стеке, и все они сделаны в Linux (и я пытаюсь сделать это в Windows), вот мой код
ЭтоВот что я пытался использовать:
"args": [
"-g",
"-I",
"C:\\OpenCV\\opencv\\build\\include",
"${file}",
"-L",
"C:\\OpenCV\\opencv\\build\\x64\\vc15\\lib",
"-l",
"opencv_world345",
"-o",
"${fileDirname}\\${fileBasenameNoExtension}.exe"
],
Я несколько раз проверил пути
#include <stdio.h>
#include <opencv2/opencv.hpp>
using namespace cv;
int main(int argc, char** argv )
{
if ( argc != 2 )
{
printf("usage: DisplayImage.out <Image_Path>\n");
return -1;
}
Mat image;
image = imread( argv[1], 1 );
if ( !image.data )
{
printf("No image data \n");
return -1;
}
namedWindow("Display Image", WINDOW_AUTOSIZE );
imshow("Display Image", image);
waitKey(0);
return 0;
}
И вот результат, который я получил
Выполнение задачи:C: \ MinGW \ bin \ g ++. Exe -IC: \ OpenCV \ opencv \ build \ include> d: \ programowanie \ Projekt \ Project \ main.cpp -L> C: \ OpenCV \ opencv \ build \ x64 \ vc15 \lib -l opencv_world345 -o> d: \ programowanie \ Projekt \ Project \ main.exe <</p>
c: / mingw / bin /../ lib / gcc / mingw32 / 8.2.0 /../. ./../../mingw32/bin/ld.exe:> C: \ Users \ xxx \ AppData \ Local \ Temp \ ccXtHNOY.o: main.cpp :(. text + 0x72): неопределенная ссылка на cv::imread(cv::String const&, int)'
c:/mingw/bin/../lib/gcc/mingw32/8.2.0/../../../../mingw32/bin/ld.exe: >C:\Users\xxx\AppData\Local\Temp\ccXtHNOY.o:main.cpp:(.text+0xe3): undefined reference to
cv :: namedWindow (cv :: String const &, int) 'c: / mingw / bin /../ lib / gcc / mingw32 / 8.2.0 /../../../../ mingw32 / bin/ld.exe:> C: \ Users \ xxx \ AppData \ Local \ Temp \ ccXtHNOY.o: main.cpp :(. text + 0x129):> неопределенная ссылка на cv::imshow(cv::String const&, cv::_InputArray const&)'
c:/mingw/bin/../lib/gcc/mingw32/8.2.0/../../../../mingw32/bin/ld.exe: >C:\Users\xxx\AppData\Local\Temp\ccXtHNOY.o:main.cpp:(.text+0x149): >undefined reference to
cv :: waitKey (int) 'c: / MinGW / бен /../ Библиотека / GCC / MinGW32 / 8.2.0 /../../../../ mingw32 / bin / ld.exe:> C: \ Users \ xxx \ AppData \ Local \ Temp \ ccXtHNOY.o: main.cpp :(. text $ _ZN2cv6StringC1EPKc [__ ZN2cv6StringC1EPKc] + 0x42): неопределенная ссылка на cv::String::allocate(unsigned int)'
c:/mingw/bin/../lib/gcc/mingw32/8.2.0/../../../../mingw32/bin/ld.exe: >C:\Users\xxx\AppData\Local\Temp\ccXtHNOY.o:main.cpp:(.text$_ZN2cv6StringD1Ev[__ZN2cv6StringD1Ev]+0xf): undefined reference to
cv :: String :: deallocate () 'c: / mingw / bin /../ lib / gcc / mingw32 / 8.2.0 /../. ./../../mingw32/bin/ld.exe:> C: \ Users \ xxx \ AppData \ Local \ Temp \ ccXtHNOY.o: main.cpp :(. text $ ZN2cv6StringaSERKS0 [__ZN2cv6StringaSERKS0 _] + 0x1c): неопределенная ссылка на cv::String::deallocate()'
c:/mingw/bin/../lib/gcc/mingw32/8.2.0/../../../../mingw32/bin/ld.exe: >C:\Users\xxx\AppData\Local\Temp\ccXtHNOY.o:main.cpp:(.text$_ZN2cv3MatD1Ev[__ZN2cv3MatD1Ev]+0x2d): undefined reference to
cv :: fastFree (void *) '
c: / mingw / bin /../ lib / gcc / mingw32 / 8.2.0 /../../../../mingw32/bin/ld.exe:> C: \ Users \ xxx \ AppData \ Local \ Temp \ ccXtHNOY.o: main.cpp :(. text $ _ZN2cv3Mat7releaseEv [__ ZN2cv3Mat7releaseEv] + 0x40): неопределенная ссылкаto cv::Mat::deallocate()'
c:/mingw/bin/../lib/gcc/mingw32/8.2.0/../../../../mingw32/bin/ld.exe: >C:\Users\xxx\AppData\Local\Temp\ccXtHNOY.o:main.cpp:(.text$_ZN2cv3MataSEOS0_[__ZN2cv3MataSEOS0_]+0xb4): undefined reference to
cv :: fastFree (void *) 'collect2.exe: error: ld вернул 1 состояние выхода
Я теряю сознание и надеюсь, что кто-нибудь понял, что происходит