Re: [OT] Netbeans+OpenCV+C++ (Ovviamente su Debian)
qzertywsx <qzertywsx@gmail.com> writes:
> Buon giorno lista,
> Scusate per l'OT, qualcuno di voi programma in c++ e può darmi una mano?
>
> Ho installato le librerie OpenCV da repo Debian, configurato netbeans,
> provo a fare qualche esperimento con le OpenCV, ma anche solo
> includendole mi da errore.
> Questo è il codice della mia applicazione (Ovviamente non fa niente ancora):
>
> #include <stdio.h>
> #include <stdlib.h>
> #include <opencv2/opencv.hpp> //<================= Aggiungo le opencv qui
>
> int main(int argc, char** argv) {
>
> return (EXIT_SUCCESS);
> }
>
> E questo è l'errore che mi dà:
>
> ...
> Gcc -c -g -I/usr/include/opencv -I/usr/include/opencv2 -MMD -MP -MF
> build/Debug/GNU-Linux-x86/main.o.d -o build/Debug/GNU-Linux-x86/main.o
> main.c
> In file included from /usr/include/opencv2/opencv.hpp:55:0,
> from main.c:10:
> /usr/include/opencv2/ml/ml.hpp:2022:15: fatal error: map: File o
> directory non esistente
> compilation terminated.
> Make[2]: *** [build/Debug/GNU-Linux-x86/main.o] Error 1
> ...
>
> Ovviemente il file "/usr/include/opencv2/ml/ml.hpp" esiste, sembra che
> l'errore sia nell'inclusione della libreria "map", cercandola non l'ho
> trovata.
> Qualcuno sa come posso risolvere?
Avevo provato a creare un progetto con Netbeans, ma mi crashava in fase
di debug. Alla fine ho creato Makefile per il progetto e ho usato Emacs,
ma penso che qualunque IDE decente gestisca i Makefile.
La cosa secondo me importante è usare pkg-config, ad esempio:
--8<---------------cut here---------------start------------->8---
CC = g++
CFLAGS = -Wall
DEBUG = -g
LIBS += $(shell pkg-config --cflags --libs opencv)
[...]
--8<---------------cut here---------------end--------------->8---
Nota come l'elenco di librerie da includere viene creato al volo con una
subshell.
Prova a lanciare "pkg-config --cflags --libs opencv" da console e
verifica che trovi le libcv dove sono effettivamente installate.
--
Morire, v.:
Quello che alla fine qualche paziente fa, giusto per umiliare il
dottore.
Reply to: