2012-09-17 172 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