2

サンプルプログラムをコンパイルしようとするたびに、cv.hが見つからず、highgui.cが見つかりません。opencvのincludesフォルダーに移動しようとしましたが、usr / includesにsudoコピー*を実行しましたが、あまり役に立ちませんでした。次の出力が表示されました。

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

(読み取り権限を持たない他のファイルと同様)。

もう 1 つの問題は、コードをコンパイルすることはできても、リンクすることはできなかったことを示しています。これは、ライブラリ名を完全に見逃しているか、間違った場所にあるためです。提供する翻訳単位の-lhighgui -lcvaux -lcxcoreに (これはドキュメントから収集したものです。私自身はこのライブラリを使用していません)を必ず使用してください。 (たとえば、 の後; これは疑わしく C ファイルのように見え、間違った言語タグが動作していることを示唆しています)。stream_server.c

于 2012-09-17T23:08:17.873 に答える