开发者社区> 问答> 正文

在php扩展开发中如何使用pkg-config?

已解决

在php扩展开发中如何使用pkg-config?

展开
收起
exinnet 2016-01-25 17:27:56 2974 0
1 条回答
写回答
取消 提交回答
  • 淘宝技术专家
    采纳回答

    闲话少说,直接上代码:
    下面是我在config.m4中写的自动加载opencv相关so库和头文件的代码。
    dnl # --with-tclip -> check with-path
    SEARCH_PATH="/usr/lib/pkgconfig" # 定义pkgconfig文件,即扩展名pc文件存放路径
    SEARCH_FOR="opencv.pc" # 要寻找的文件
    if test -r $PHP_TCLIP/$SEARCH_FOR; then #

     TCLIP_DIR=$PHP_TCLIP

    else # search default path list

     AC_MSG_CHECKING([for tclip files in default path])
     for i in $SEARCH_PATH ; do
       if test -r $i/$SEARCH_FOR; then
         TCLIP_DIR=$i
         AC_MSG_RESULT(found in $i)
       fi
     done

    fi
    dnl
    if test -z "$TCLIP_DIR"; then

     AC_MSG_RESULT([not found])
     AC_MSG_ERROR([Please reinstall the tclip distribution])

    fi

    OPENCV_FLAGS="pkg-config opencv --libs --cflags opencv"
    for i in $OPENCV_FLAGS;do

        if test ${i:0:2} = "-I" ;then
                PHP_ADD_INCLUDE(${i:2})
        elif test ${i:${#i}-3} = ".so" ;then
                dir_name=`dirname $i`
                file_name=${i/$dir_name/}
                file_name=${file_name/\/lib/}
                file_name=${file_name/.so/}
        PHP_ADD_LIBRARY_WITH_PATH($file_name,$dir_name,TCLIP_SHARED_LIBADD)
        fi

    done

    参考资料 在php扩展开发中如何使用pkg-config

    2019-07-17 18:26:31
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
阿里云栖开发者沙龙PHP技术专场-直面PHP微服务架构挑战-高驰涛 立即下载
PHP安全开发:从白帽角度做安全 立即下载
PHP 2017.北京 全球开发者大会——高可用的PHP 立即下载