• [ffmpeg 扩展第三方库编译系列] frei0r mingw32 下编译问题


    在编译安装frei0r的时候遇到两个错误地方,

    两个都是在install的时候.

    一开始编译都很顺利,输入了

    make install之后就走开了,回来一看,报错误.

    提示mkdir -p //usr/local/lib/frei0r-1错误,让我百思不得其解,一开始以为我手动创建就可以,于是到相关目录下创建了该文件夹.

    再次install的时候还是不行.

    于是我就想着去找百度,谷歌.终于有解决办法 是一下src/Makefile下的$(DESTDIR)/$(plugindir)多了一个/

    需要改成$(DESTDIR)$(plugindir)有几个这样的地方,一并改了

    然后这一步安装到是过去了,新的问题又来了。

    报错.libs/目录下大量的so没有找到,我搜索源码目录,没有找到相关so文件,我就纳闷了

    原来Mingw32把所有这些so文件编译成了.a.因此需要修改sofile=`basename $$file .la`.so;
    改成sofile=`basename $$file .la`.a;
     
     

    profile.d配置方案:

    保存在/etc/profile.d/local.sh(由/etc/profile调用)

    把/local/bin加入PATH,把/local/include、/local/lib加入编译器的头文件和库文件搜索路径。

    Sh代码   收藏代码
    1. #! /usr/bin/sh  
    2.   
    3. export CPATH=/usr/local/include:/usr/include:$CPATH  
    4. export C_INCLUDE_PATH=/usr/local/include:/usr/include:$C_INCLUDE_PATH  
    5. export CPLUS_INCLUDE_PATH=/usr/local/include:/usr/include:$CPLUS_INCLUDE_PATH  
    6. export OBJC_INCLUDE_PATH=/usr/local/include:/usr/include:$OBJC_INCLUDE_PATH  
    7. export LD_LIBRARY_PATH=/usr/local/lib:/usr/lib:$LD_LIBRARY_PATH  
    8. export LIBRARY_PATH=/usr/local/lib:/usr/lib:$LIBRARY_PATH  
    9. export LIBPATH=/usr/local/lib:/usr/lib:$LIBPATH  

    ------------------

    20111022补充

    对于在Linux上自己编译安装的程序,由于在执行./configure --prefix=<绝对路径>指定的路径

    一般在home目录中,所以编译存在依赖关系的程序时,通常要用

    $ PKG_CONFIG_PATH=<绝对路径>/lib/pkgconfig/:$PKG_CONFIG_PATH ./configure --prefix=<绝对路径>

    $ export PKG_CONFIG_PATH=<绝对路径>/lib/pkgconfig/:$PKG_CONFIG_PATH

    $ ./configure --prefix=<绝对路径>

    使configure能准确找到库安装的位置

    使用

    $ LD_LIBRARY_PATH=<绝对路径>/lib:$LD_LIBRARY_PATH ./xxx

    $ export LD_LIBRARY_PATH=<绝对路径>/lib:$LD_LIBRARY_PATH

    $ ./xxx

    指定./xxx程序需要用到的.so文件所在的路径。

    (如果使用sudo,则环境变量LD_LIBRARY_PATH的赋值必须跟在sudo后面

  • 相关阅读:
    题目3:爬楼梯
    题目1:删除排序数组中的重复数字
    最近目标
    软件工程----个人总结
    软件工程第二次作业——结对编程
    软件工程第一次作业补充
    爬楼梯
    买卖股票的最佳时机
    删除排序数组中的重复数字
    思考题
  • 原文地址:https://www.cnblogs.com/subo_peng/p/5494989.html
Copyright © 2020-2023  润新知