Cześć.
Próbuję skompilować program w C wykorzystujący biblioteke opencv. Kompiluje to na Debianie.
Generalnei sekcja include wygląda u mnie tak :
#include "opencv2/imgproc/imgproc_c.h"
#include "opencv2/highgui/highgui_c.h"
#include "opencv2/core/core.hpp"
#include <stdio.h>
kawałek kody gdzie uzywam funkcji opencv
clearScreen();
printfn("Podaj ścieżkę obrazu: ");
scanf("%ms",&imagePath);
IplImage* image = CvLoadImage(imagePath,CV_LOAD_IMAGE_COLOR);
if(image!=NULL)// Check for invalid input
{
printfn("Błąd wczytania obrazu");
}
else
{
CvShowImage("Image", image);
cvWaitKey(0);
CvReleaseImage(&image); // Do not forget to release memory.
}
free(imagePath);
Podczas kompilacji za pomocą wywołania skryptu:
for i in ./src/c/*.c; do
echo "compiling $i"
gcc -ggdb `pkg-config --cflags opencv` -o ./out/`basename $i .c` $i `pkg-config --cflags --libs opencv`;
done
otrzymuję błędy :
luser@laptop$ ./build.sh
compiling ./src/c/main.c
./src/c/main.c: In function ‘main’:
./src/c/main.c:36:22: warning: initialization makes pointer from integer without a cast
IplImage* image = CvLoadImage(imagePath,CV_LOAD_IMAGE_COLOR);
^
/tmp/cc8r88HR.o: In function `main':
/home/user/katalog/./src/c/main.c:36: undefined reference to CvLoadImage'
/home/user/katalog/./src/c/main.c:44: undefined reference to `CvShowImage'
/home/user/katalog/./src/c/main.c:46: undefined reference to `CvReleaseImage'
collect2: error: ld returned 1 exit status
Jak mogę poprawnie dołączyć biblioteke, żeby poprawnie zlinkowało mi do funkcji ??
Z góry dziekuję za pomoc !