zoukankan      html  css  js  c++  java
  • libpng libjpeg libz安装使用

    由于最近要跑epicflow代码需要用到这几个库静态文件
    正常情况只要sudo apt-get install libjpeg-dev libpng-dev就应该能安上,但是我执行完这两步后,到系统目录下只能搜到一堆类似于libjpeg.so.8、libjpeg.so.8.0.2这样的文件,而搜不到需要的libjpeg.a 、libpng.a等文件所以只能手动编译。
    libjpeg下载地址: http://www.ijg.org/
    libpng与libz下载地址:https://sourceforge.net/projects/libpng/files/
    安装:
    libjpeg:

    #下载 jpegsrc.v9c.tar.gz
    #解压
    tar -xzvf jpegsrc.v9c.tar.gz
    cd 到解压文件夹
    #安装
    ./configure
    make check#make命令是运行的所在目录下的Makefile文件, 如果Makefile 里有check的话, 会执行测试,也就是 #检查下编译出来的东西能不能用
    sudo make install
    sudo ldconfig#动态链接库为系统所共享,还需运行动态链接库的管理命令
    #到目标文件夹/usr/local/lib找到了对应的.a文件,安装成功!!!
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    libpng:

    #解压
    tar -xzvf libpng-1.6.26.tar.gz && cd libpng-1.6.26
    #安装
    cd 到解压文件夹
    ./configure
    make check
    sudo make install
    sudo ldconfig
    1
    2
    3
    4
    5
    6
    7
    8
    zlib:

    #解压:
    tar -xf zlib-1.2.11.tar.xz && cd zlib-1.2.11
    #安装
    cd 到解压文件夹
    ./configure
    sudo make install
    sudo make
    1
    2
    3
    4
    5
    6
    7
    ***linux中ldconfig命令 参考https://blog.csdn.net/inuyashaw/article/details/70789230
    为了让动态链接库为系统所共享,还需运行动态链接库的管理命令–ldconfig.此执行程序存放在/sbin目录下.

    ldconfig命令的用途,主要是在默认搜寻目录(/lib和/usr/lib)以及动态库配置文件/etc/ld.so.conf内所列的目录下,搜索出可共享的动态链接库(格式如前介绍,lib*.so*),进而创建出动态装入程序(ld.so)所需的连接和缓存文件.缓存文件默认为/etc/ld.so.cache,此文件保存已排好序的动态链接库名字列表.

    ldconfig通常在系统启动时运行,而当用户安装了一个新的动态链接库时,就需要手工运行这个命令.

    ldconfig命令行用法如下:

    ldconfig [-v|–verbose] [-n] [-N] [-X] [-f CONF] [-C CACHE] [-r ROOT]
    [-l] [-p|–print-cache] [-c FORMAT] [–format=FORMAT] [-V]
    [-?|–help|–usage] path…

    ldconfig几个需要注意的地方

    往/lib和/usr/lib里面加东西,是不用修改/etc/ld.so.conf的,但是完了之后要调一下ldconfig,不然这个library会找不到
    想往上面两个目录以外加东西的时候,一定要修改/etc/ld.so.conf,然后再调用ldconfig,不然也会找不到 比如安装了一个mysql到/usr/local/mysql,mysql有一大堆library在/usr/local/mysql/lib下面,这时就需要在/etc/ld.so.conf下面加一行/usr/local/mysql/lib,保存过后ldconfig一下,新的library才能在程序运行时被找到。
    如果想在这两个目录以外放lib,但是又不想在/etc/ld.so.conf中加东西(或者是没有权限加东西)。那也可以,就是export一个全局变量LD_LIBRARY_PATH,然后运行程序的时候就会去这个目录中找library。一般来讲这只是一种临时的解决方案,在没有权限或临时需要的时候使用。
    ldconfig做的这些东西都与运行程序时有关,跟编译时一点关系都没有。编译的时候还是该加-L就得加,不要混淆了。
    总之,就是不管做了什么关于library的变动后,最好都ldconfig一下,不然会出现一些意想不到的结果。不会花太多的时间,但是会省很多的事。
    再有,诸如libdb-4.3.so文件头中是会含有库名相关的信息的(即含“libdb-4.3.so”,可用strings命令察看),因此仅通过修改文件名以冒充某已被识别的库(如libdb-4.8.so)是行不通的。为此可在编译库的Makefile中直接修改配置信息,指定特别的库名。
    http:~$ sudo vim /etc/ld.so.conf 比如将当前路径作为lib链接默认搜索路径, include
    /etc/ld.so.conf.d/*.conf include /usr/local/lib include . http:~$ sudo
    ldconfig 这样就不用每次export LD_LIBRARY_PATH=.:$LD_LIBRARY_PATH了

    http:~$ vim /etc/profile 可以添加系统对应用程序的搜索路径,比如追加 umask 022
    JAVA_HOME=/usr/local/jdk1.6.0_14 JRE_HOME=/usr/local/jdk1.6.0_14/jre
    CLASSPATH=.:J A V A H O M E / l i b : JAVA_HOME/lib:JAVA
    H

    OME/lib:JRE_HOME/lib export JAVA_HOME JRE_HOME
    CLASSPATH 然后使用 http:~$ source /etc/profile 是设置立即生效,或者重新打开一个terminal.

    #运行可执行文件时若报错:

    libpng warning: Application built with libpng-1.2.54 but running with 1.6.36
    error: png_create_read_struct returned 0.
    libpng warning: Application built with libpng-1.2.54 but running with 1.6.36
    error: png_create_read_struct returned 0.

    安装的libpng与opencv安装时的libpng冲突,解决方法把opencv卸载重安。
    一、卸载 opencv3.0.0

    1、查看已安装的 opencv 版本

    pkg-config --modversion opencv

    2、卸载

    #找到当初安装 opencv的 build 目录,进入 build 目录

    cd /home/***/opencv/build
    sudo make uninstall
    cd ..
    sudo rm -r build
    1
    2
    3
    4
    #清理 /usr 中所有 opencv 相关项

    sudo rm -r /usr/local/include/opencv2 /usr/local/include/opencv /usr/include/opencv /usr/include/opencv2 /usr/local/share/opencv /usr/local/share/OpenCV /usr/share/opencv /usr/share/OpenCV /usr/local/bin/opencv* /usr/local/lib/libopencv*
    cd /usr
    find . -name "*opencv*" | xargs sudo rm -rf

    cd /home/***
    chmod a+x opencv
    rm -r opencv
    1
    2
    3
    4
    5
    6
    7
    3、安装

    重新解压opencv文件压缩包

    sudo apt-get install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg-dev libpng-dev libtiff4.dev libswscale-dev libjasper-dev ##可省略

    cd到解压文件
    1、mkdir build
    2、cd build
    3、cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local …
    4、make
    5、sudo make install

    附opencv下载链接http://opencv.org/releases.html,选择sources版本

  • 相关阅读:
    将aspx页面编译成dll
    Jquery 验证数字
    c#反编译生成DLL过程
    c#进制转换
    Spring Mvc 实例
    wamp phpMyAdmin error #1045
    Tomcat相关知识点总结(jsp)
    Java ---学习笔记(泛型)
    Java IO ---学习笔记(文件操作与随机访问文件)
    Java IO ---学习笔记(字符流)
  • 原文地址:https://www.cnblogs.com/klausage/p/14763633.html
Copyright © 2011-2022 走看看