现在我在我的机器上安装了Opencv。它在python中运行良好(我只是通过一些例如程序检查它)。但由于python中缺少教程,我决定转向c。我刚刚从http://www.cs.iit.edu/~agam/cs512/lect-notes/opencv-intro/
运行了一个Hello world程序编译时我收到以下错误
hello-world.c:4:16: fatal error: cv.h: No such file or directory
compilation terminated.
我是opencv的新手
问:你能否报告可能存在的问题 - 以及我如何在c中运行helloworld程序?
答案 0 :(得分:1)
您的编译器找不到您的cv.h
包含文件。如果您是从软件包管理器安装的,则可能是/usr/include/opencv/
。您需要添加包含搜索路径。如果要从命令行进行编译,请使用-I
指定其他包含目录。它会像 -
gcc -I /usr/include/opencv/ -o helloworld helloworld.c
如果您使用的是Eclipse,
答案 1 :(得分:1)
您需要显示cv.h文件的编译器路径。找到它的快捷方法是(在Ubuntu上):
find /usr -name "cv.h"
/usr/local/include/opencv/cv.h
只需将其添加到编译器:
gcc -I/usr/local/include/opencv -o helloworld helloworld.c
由于您提出此问题,您的编译器可能也会在将程序链接到opencv库时遇到问题。只对库文件做同样的事情:
find /usr -iname "libopencv*"
/usr/local/lib/libopencv_flann.so
...
以相同的方式添加此文件夹并指定要使用的库:
gcc helloworld.c -I/usr/local/include/opencv -L/usr/local/lib -lopencv_core -lopencv_imgproc -lopencv_highgui -o helloworld
应该编译。你可以采取一个捷径,而不是所有步骤,只需使用以下命令
gcc helloworld.c `pkg-config --cflags --libs opencv` -o helloworld
应该负责为您找到所需文件的所有工作,让您专注于有趣的编码部分。
答案 2 :(得分:0)
也许您刚刚安装了opencv软件包。 但是,由于您希望在C程序中使用opencv,您还可以安装名为opencv-devel的软件包。如果你还没有,安装它,而不是像@iagreen说的那样使用它。 祝你好运。