温州建设银行支行网站,济宁建设局官方网站,站长之家素材网站,wordpress开发者手册首先,从http://www.opencv.org.cn下载1.0的源码包,然后解压出来,进入解压后的目录,再进行下面的修改:
将configure 文件下列内容注释掉(有两处)#xff0c;只保留GTK_CFLAGS 、GTK_LIBS 、have_gtkno 三项内容#xff08;如下黑体所示#xff09;只保留GTK_CFLAGS 、GTK_LIBS 、have_gtkno 三项内容如下黑体所示 # if test $PKG_CONFIG no ; then # echo *** The pkg-config script could not be found. Make sure it is # echo *** in your path, or set the PKG_CONFIG environment variable # echo *** to the full path to pkg-config. # echo *** Or see http://www.freedesktop.org/software/pkgconfig to get pkgconfig. # else # PKG_CONFIG_MIN_VERSION0.9.0 # if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then # echo $as_me:$LINENO: checking for \gtk-2.0 gdk-pixbuf-2.0\ 5 echo $ECHO_N checking for \gtk-2.0 gdk-pixbuf-2.0\... $ECHO_C 6 # if $PKG_CONFIG --exists gtk-2.0 gdk-pixbuf-2.0 ; then # echo $as_me:$LINENO: result: yes 5 #echo ${ECHO_T}yes 6 # succeededyes # echo $as_me:$LINENO: checking GTK_CFLAGS 5 #echo $ECHO_N checking GTK_CFLAGS... $ECHO_C 6 # GTK_CFLAGS$PKG_CONFIG --cflags gtk-2.0 gdk-pixbuf-2.0 # echo $as_me:$LINENO: result: $GTK_CFLAGS 5 #echo ${ECHO_T}$GTK_CFLAGS 6 # # echo $as_me:$LINENO: checking GTK_LIBS 5 #echo $ECHO_N checking GTK_LIBS... $ECHO_C 6 # GTK_LIBS$PKG_CONFIG --libs gtk-2.0 gdk-pixbuf-2.0 # echo $as_me:$LINENO: result: $GTK_LIBS 5 #echo ${ECHO_T}$GTK_LIBS 6 # elseGTK_CFLAGS GTK_LIBS ## If we have a custom action on failure, dont print errors, but ## do set a variable so people can do so. # GTK_PKG_ERRORS$PKG_CONFIG --errors-to-stdout --print-errors gtk- 2.0 gdk-pixbuf-2.0 # fi # else # echo *** Your version of pkg-config is too old. You need version #$PKG_CONFIG_MIN_VERSION or newer. # echo *** See http://www.freedesktop.org/software/pkgconfig # fi # fi # if test $succeeded yes; then # have_gtkyes #cat confdefs.h \_ACEOF ##define HAVE_GTK #_ACEOF # elsehave_gtkno # fi 修改完后进行下面的操作:
安装好交叉编译工具链后再进行如下操作:
./configure --hostarm-linux --prefix/home/guochongxin/opencv-arm2/ --without-gtk --without-carbon --without-v4l --without-quicktime --without-1394libs --without-ffmpeg --without-python --without-swig
在命令行里面加入了--without-v4l,因为编译时会出错,还有我暂时不用到v4l,如果你要做摄相头方面的应用,就需要去掉该参数,但编译时会出错,这个问题我也在改进中,有解决方法就会发出来共享.
上面的配置没有把libjpeg编译进去,也不会添加v4l,而配置修改为:
./configure --hostarm-linux --prefix/home/guochongxin/opencv-arm --without-gtk --without-carbon --without-quicktime --without-1394libs --without-ffmpeg --without-python --without-swig CXXarm-linux-g CPPFLAGS-I/home/guochongxin/crosstool/tools/gcc-3.4.5-glibc-2.3.6/arm-linux/include CFLAGS-I/home/guochongxin/crosstool/tools/gcc-3.4.5-glibc-2.3.6/arm-linux/include LDFLAGS-L/home/guochongxin/crosstool/tools/gcc-3.4.5-glibc-2.3.6/arm-linux/lib
则在编译到v4l时没有错误提示,也把libjpeg编译进去,因为把libjpeg的路径也通过配置设置进去了,注意libjpeg之前要交叉编译才可以,也注意上面的路径,注意libjpeg库要放到交叉编译工具链的库中.
接下来进行下面的操作:
make
make install
这里会在/home/guochongxin/opencv-arm2/目录下安装编译成功的文件,接下来如果需要编译代码,则需要设置如下的环境变量:
export PKG_CONFIG_PATH$PKG_CONFIG_PATH:/home/guochongxin/opencv-arm2/lib/pkgconfig/
编译程序的方法是:
arm-linux-g pkg-config --cflags --libs opencv source.cpp -o destination
注意上面两个黑点是键盘上左上角波浪号在按下Shift键后输入的,而不是上引号,要区分开来.
上面步骤只是成功后发布出来,可能有小部分有问题,请根据实际情况修改,仅供参考,用到的交叉编译工具链是3.4.5版本的,制作过程在前面的博文有发表出来.
参考资料:《OpenCV 在Liod 开发板的移植及其应用》华东师范大学电子系嵌入式竞赛组