2

每次我尝试编译一个示例程序时,我都会得到 cv.h not found, highgui.c not found。我尝试转到opencv中的includes文件夹并做了一个sudo copy *到usr/includes并没有太大帮助:我得到以下输出有人可以告诉我我做错了什么吗?

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':
4

1 回答 1

3

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

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

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

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

于 2012-09-17T23:08:17.873 回答