我正在尝试编译Rob Hess的SIFT算法的C实现.我成功安装了OpenCV 2.1并使用提供的示例C程序测试了安装.没有错误.
我试图编译的代码是使用OpenCV 2.0编写的.我成功地使用OCV2.0编译并运行了确切的代码.但现在编译失败并打印出来.我正在使用随代码提供的make文件.
make -C ./src siftfeat
make[1]: Entering directory `/home/niroshan/sift/src'
ar rc ../lib/libfeat.a imgfeatures.o utils.o sift.o kdtree.o minpq.o xform.o refine.o
ranlib ../lib/libfeat.a
gcc -I../include `pkg-config --cflags opencv gtk-engines-2` siftfeat.c -o ../bin/siftfeat -L../lib -lfeat `pkg-config --libs opencv gtk-engines-2`
Package gtk-engines-2 was not found in the pkg-config search path.
Perhaps you should add the directory containing `gtk-engines-2.pc'
to the PKG_CONFIG_PATH environment variable
No package 'gtk-engines-2' found
Package gtk-engines-2 was not found in the pkg-config search path.
Perhaps you should add the directory containing `gtk-engines-2.pc'
to the PKG_CONFIG_PATH environment variable
No package 'gtk-engines-2' found
In file included from siftfeat.c:18:
sift.h:23: fatal error: cxcore.h: No such file or directory
compilation terminated.
make[1]: *** [siftfeat] Error 1
make[1]: Leaving directory `/home/niroshan/sift/src'
make: *** [siftfeat] Error 2
Run Code Online (Sandbox Code Playgroud)
可能还有另一个问题,包括cxcore.h有人可以解释我这里有什么问题吗?先感谢您
小智 7
我的Ubuntu 10.10盒子上有同样的问题.
我发现构建需要什么文件("gdk/gdk.h"),并看到gtk + -2.0包(/usr/lib/pkgconfig/gtk+-2.0.pc)提供了/ usr/include /的包含路径gtk-2.0,相对于所需文件存在.
我编辑了src/Makefile并将CFLAGS和LIBS pkg-config行从"pkg-config ... opencv gtk-engines-2"更改为"pkg-config ... opencv gtk + -2.0"并为我构建了它.