linux下批量编译opencv程序

用两个文件即可,一个是opencv源里有的,可以处理当前文件夹下的内容,叫build_all.sh,内容如下:
#!/bin/sh

if [ $# -gt 0 ] ; then
base=`basename $1 .c`
echo "compiling $base"
gcc -ggdb `pkg-config opencv --cflags --libs` $base.c -o $base 
else
for i in *.c; do
   echo "compiling $i"
   gcc -ggdb `pkg-config --cflags opencv` -o `basename $i .c` $i `pkg-config --libs opencv`;
done
for i in *.cpp; do
   echo "compiling $i"
   g++ -ggdb `pkg-config --cflags opencv` -o `basename $i .cpp` $i `pkg-config --libs opencv`;
done
fi

另外我自己写了一个批处理文件,直接可以编译子文件夹内的程序,给出能处理两层文件夹的版本:
for dir in `ls .`
 do
   if [ -d $dir ]
   then
     echo $dir
     cd $dir
     sh ../build_all.sh
for dir in `ls .`
 do
   if [ -d $dir ]
   then
echo $dir
cd $dir
sh ../../build_all.sh
cd ..
   fi
done
     cd ..
   fi
done

现在觉得shell脚本真的好强大。。。

 青春就应该这样绽放  游戏测试:三国时期谁是你最好的兄弟!!  你不得不信的星座秘密
posted @ 2012-08-02 17:43  joywelt  阅读(212)  评论(0编辑  收藏  举报