Ich war auf der Suche nach einer C-Processing-Bild-Bibliothek und finden Sie heraus, dass OpenCV-Bibliothek am bequemsten war (Laut Menschen-Tipps). Also habe ich beschlossen, die neueste Version zu installieren, aber wenn ich versuche, es zu meinem bestehenden GTK + (C) Projekt einzubeziehen, es gab mir kompilieren Fehler:Können wir sowohl OpenCv-3.3.0 als auch GTK + 3 mit gcc mit C-Code kompilieren?
undefined reference to cvRound
Genaue Nachricht ist:
$ gcc ./bin/app.o \
$(pkg-config --libs glib-2.0) \
$(pkg-config --libs pango) \
$(pkg-config --libs gtk+-3.0) \
$(pkg-config --libs gmodule-2.0) \
$(pkg-config --libs opencv) -o bin/app
./bin/app.o : Dans la fonction « cvPointFrom32f » :
app.c:(.text+0x557) : référence indéfinie vers « cvRound »
app.c:(.text+0x56d) : référence indéfinie vers « cvRound »
./bin/app.o : Dans la fonction « cvReadInt » :
app.c:(.text+0xe74) : référence indéfinie vers « cvRound »
./bin/app.o : Dans la fonction « cvEllipseBox » :
app.c:(.text+0x10dc) : référence indéfinie vers « cvRound »
app.c:(.text+0x10fe) : référence indéfinie vers « cvRound »
collect2: error: ld a retourné le statut de sortie 1
make: *** [Makefile:38: bin/app] Error 1
So Ich wollte wissen, was ich tun kann, um OpenCV UND GTK + zu verwenden (da ich OpenCV UI nicht brauche, weil ich bereits meine habe)?
Ich habe auch versucht gcc von g zu entfernen ++ (Aber das Problem entweder nicht lösen) und jetzt kompiliert es, aber wenn ich versuche, meine Anwendung zu laufen mit:
$ ./app
Ich habe
Gtk-ERROR **: GTK+ 2.x symbols detected. Using GTK+ 2.x and GTK+ 3 in the same process is not supported
ich glaube, ich gebe auf die Installation von OpenCV mit GTK arbeitet machen + ...
PS: Wenn Sie irgendwelche Ratschläge oder Bibliothek Empfehlungen haben (C) ich nehme an.
Haben Sie versucht mit '$ (pkg-config --cflags --libs opencv)'? Ist libopencv-dev installiert? (Ich denke schon) – purplepsycho