找不到 gcc 编译错误 cv.h for Opencv

gcc compile error cv.h not found for Opencv

本文关键字:for Opencv cv 错误 gcc 编译 找不到      更新时间:2023-10-16

每次我尝试编译示例程序时,我都会找不到cv.h,找不到highgui.c。我尝试转到opencv中的包含文件夹,并将sudo复制*到usr/include,并没有多大帮助:我得到了以下输出,有人可以告诉我我做错了什么吗?

stream_server.c:19:25: fatal error: /usr/include/highgui.h: Permission denied
compilation terminated.
uc@uc-HP-Pavilion-dv6-Notebook-PC:~/Desktop$ sudo gcc stream_server.c -o streamserver
stream_server.c: In function ‘quit’:
stream_server.c:174:5: warning: format not a string literal and no format arguments [-Wformat-security]
stream_server.c:177:5: warning: format not a string literal and no format arguments [-Wformat-security]
/tmp/ccVnjC7y.o: In function `cvDecRefData':
stream_server.c:(.text+0xa9a): undefined reference to `cvFree_'
stream_server.c:(.text+0xb22): undefined reference to `cvFree_'
/tmp/ccVnjC7y.o: In function `cvGetRow':
stream_server.c:(.text+0xc39): undefined reference to `cvGetRows'
/tmp/ccVnjC7y.o: In function `cvGetCol':

您遇到的第一个问题是您显然在没有正确权限的情况下安装了某些文件。由于您似乎可以使用 sudo ,您可能需要修复文件的权限:

sudo chmod a+r /usr/include/highgui.h

(类似于您没有读取权限的其他文件)。

另一个问题表明你得到了代码编译而不是链接。这最像是因为您要么完全错过了库名称,要么将其放在错误的位置:确保使用-lhighgui -lcvaux -lcxcore(这是我从文档中收集的内容;我自己没有使用过这个库)在您提供的任何翻译单元之后(例如,在stream_server.c之后;这看起来很像 C 文件,暗示了错误的语言标签在起作用)。