【发布时间】:2018-04-21 22:12:44
【问题描述】:
我正在寻找一个 C 处理图像库,发现 OpenCV 库是最方便的(根据人们的建议)。所以我决定安装最新版本,但是当我试图将它包含到我现有的 GTK+ (C) 项目中时,它给了我编译错误:
undefined reference to cvRound
确切的消息是:
$ 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
所以,我想知道,为了使用 OpenCV 和 GTK+,我能做些什么(因为我不需要 OpenCV UI,因为我已经有了我的 UI)?
我还尝试通过 g++ 删除 gcc(但这也不能解决问题),现在它可以编译了,但是当我尝试使用以下命令运行我的应用程序时:
$ ./app
我明白了
Gtk-ERROR **: GTK+ 2.x symbols detected. Using GTK+ 2.x and GTK+ 3 in the same process is not supported
我想我正在放弃安装 OpenCV 以使其与 GTK+ 一起使用...
P.S:如果您有任何建议或图书馆建议 (C) 我接受。
【问题讨论】:
-
你试过
$(pkg-config --cflags --libs opencv)吗?libopencv-dev安装了吗? (我想是的)