2012-09-17 154 views
2

每次我尝试编译一个示例程序时,我都找不到cv.h,找不到highgui.c。我尝试去opencv中的includes文件夹,并做了sudo copy * to usr/includes,并没有多大帮助:我得到了以下输出,有人可以告诉我我做错了什么?gcc编译错误cv.h未找到Opencv

stream_server.c:19:25: fatal error: /usr/include/highgui.h: Permission denied 
compilation terminated. 
[email protected]:~/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': 
+0

这文件怎么回事? '/ usr/include/highgui.h' –

+0

'cat/usr/include/highgui.h'输出是什么?你真的有权限阅读吗? –

+0

找不到文件 – DasBoot

回答

3

您遇到的第一个问题是您显然安装了某些文件时没有正确的权限。因为它似乎可以用sudo,你可能要固定在该文件的权限:

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

(类似于其他文件不具有读取权限)。

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

+0

它仍然给我一个错误,如警告:弃用stream.cpp转换:36:31:警告:字符串常量char * [-Wwrite-strings]和stream.cpp :79:37:warning:stream.cpp弃用从字符串常量到char * [-Wwrite-strings]和stream.cpp的转换:111:30:警告:从'const void'无效转换为'const sockaddr *'[ fpermissive] – DasBoot

+0

这些不是错误,而是警告。第一个说你使用的是类似'char * x =“...”;'而类型应该是'char const *'。另一个警告看起来不正确:你需要显示相应的代码来判断这个问题。 –

+0

stream.cpp:在函数'void * streamServer(void *)'中: stream.cpp:111:62:错误:从'const void *'无效转换为'const sockaddr *'[-fpermissive] /usr/include/x86_64-linux-gnu/sys/socket.h:115:12:error:初始化参数2'int bind(int,const sockaddr *,socklen_t)'[-fpermissive] stream.cpp:112:28:警告:不推荐将字符串常量转换为'char *'[-Wwrite-strings] stream.cpp:函数'void quit(char *,int)': stream.cpp:164:45:warning:format not a字符串文字和没有格式参数[-Wformat-security] – DasBoot