poppler xilinx交叉编译
来源:互联网 发布:管家婆软件怎么删除 编辑:程序博客网 时间:2024/05/07 00:17
1、编译各种外部库:
//fontconfig use
./configure CC=/home/david/work/zynq/CodeSourcery-master/bin/arm-xilinx-linux-gnueabi-gcc --prefix=/home/david/QT5/libfontconfig --with-arch=ARCH --host=arm-xilinx-linux-gnueabi --with-expat='/home/david/QT5/libexpat' --with-expat-lib='/home/david/QT5/libexpat/lib' --with-expat-includes='/home/david/QT5/libexpat/include' --with-pkgconfigdir=/home/david/QT5/libfreetype2/bin/freetype-config FREETYPE_CFLAGS='-I/home/david/QT5/libfreetype2/include/freetype2/' FREETYPE_LIBS='-L/home/david/QT5/libfreetype2/lib/' --libdir='/home/david/QT5/libfreetype2/lib/' --includedir='/home/david/QT5/libfreetype2/include/freetype2/'
//freetype user
./configure CC=/home/david/work/zynq/CodeSourcery-master/bin/arm-xilinx-linux-gnueabi-gcc CXX=/home/david/work/zynq/CodeSourcery-master/bin/arm-xilinx-linux-gnueabi-g++ --prefix=/home/david/QT5/libfreetype2 --host=arm-xilinx-linux-gnueabi --with-zlib=no --with-bzip2=no --with-png=no --with-harfbuzz=no
//UUID user
./configure CC=/home/david/work/zynq/CodeSourcery-master/bin/arm-xilinx-linux-gnueabi-gcc --prefix=/home/david/QT5/libuuid --host=arm-xilinx-linux-gnueabi
//xml
./configure CC=/home/david/work/zynq/CodeSourcery-master/bin/arm-xilinx-linux-gnueabi-gcc CXX=/home/david/work/zynq/CodeSourcery-master/bin/arm-xilinx-linux-gnueabi-g++ --prefix=/home/david/QT5/libxml2 --host=arm-xilinx-linux-gnueabi --without-zlib --without-python --with-sax1
//expat user
./configure CC=/home/david/work/zynq/CodeSourcery-master/bin/arm-xilinx-linux-gnueabi-gcc CXX=/home/david/work/zynq/CodeSourcery-master/bin/arm-xilinx-linux-gnueabi-g++ --prefix=/home/david/QT5/libexpat --host=arm-xilinx-linux-gnueabi --without-xmlwf
//tiff user
./configure CC=/home/david/work/zynq/CodeSourcery-master/bin/arm-xilinx-linux-gnueabi-gcc CXX=/home/david/work/zynq/CodeSourcery-master/bin/arm-xilinx-linux-gnueabi-g++ --prefix=/home/david/QT5/libtiff --host=arm-xilinx-linux-gnueabi
//jpge user
./configure CC=/home/david/work/zynq/CodeSourcery-master/bin/arm-xilinx-linux-gnueabi-gcc CXX=/home/david/work/zynq/CodeSourcery-master/bin/arm-xilinx-linux-gnueabi-g++ --prefix=/home/david/QT5/libjpeg --host=arm-xilinx-linux-gnueabi --enable-static --enable-shared
//openjpge openjpeg-2.3.0 使用Cmake编译
cmake .. -DCMAKE_INSTALL_PREFIX=/home/david/QT5/libopenjpeg -DCMAKE_BUILD_TYPE=release -DCMAKE_TOOLCHAIN_FILE=./../toolchain
toolchair 内容:
SET(CMAKE_SYSTEM_NAME "Linux")
SET(CMAKE_C_COMPILER "/home/david/work/zynq/CodeSourcery-master/bin/arm-xilinx-linux-gnueabi-gcc")
SET(CMAKE_CXX_COMPILER "/home/david/work/zynq/CodeSourcery-master/bin/arm-xilinx-linux-gnueabi-g++")
SET(CMAKE_FIND_ROOT_PATH /home/david/work/zynq/CodeSourcery-master /home/david/QT5/dfb_arm /home/david/QT5/libfontconfig /home/david/QT5/qt-everywhere-opensource-src-5.6.2/qt_arm /home/david/QT5/libtiff)
SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
SET(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
SET(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
SET(FONTCONFIG_LIBRARIES,/home/david/QT5/libfontconfig/lib)
SET(FONTCONFIG_INCLUDE_DIR,/home/david/QT5/libfontconfig/include)
//openjpeg1.5 user 最终使用
./configure CC=/home/david/work/zynq/CodeSourcery-master/bin/arm-xilinx-linux-gnueabi-gcc CXX=/home/david/work/zynq/CodeSourcery-master/bin/arm-xilinx-linux-gnueabi-g++ --prefix=/home/david/QT5/libopenjpeg1.5 --host=arm-xilinx-linux-gnueabi
//poppler 编译选项:
新建 build.sh 内容:
DFB_DIR=/home/david/QT5/dfb_arm
export PKG_CONFIG_LIBDIR=${DFB_DIR}/lib:/home/david/QT5/libfontconfig/lib:/home/david/QT5/libopenjpeg1.5/lib:/home/david/QT5/qt-everywhere-opensource-src-5.6.2/qt_arm/lib:$PKG_CONFIG_LIBDIR
export PKG_CONFIG_PATH=${DFB_DIR}/lib/pkgconfig:/home/david/QT5/libfontconfig/lib/pkgconfig:/home/david/QT5/libopenjpeg1.5/lib/pkgconfig:/home/david/QT5/qt-everywhere-opensource-src-5.6.2/qt_arm/lib/pkgconfig:$PKG_CONFIG_PATH
./configure CC=/home/david/work/zynq/CodeSourcery-master/bin/arm-xilinx-linux-gnueabi-gcc \
CXX=/home/david/work/zynq/CodeSourcery-master/bin/arm-xilinx-linux-gnueabi-g++ \
--prefix=/home/david/QT5/libpoppler --host=arm-xilinx-linux-gnueabi \
PKG_CONFIG_PATH=/home/david/QT5/libpoppler/lib/pkgconfig \
FONTCONFIG_CFLAGS="-I/home/david/QT5/libfontconfig/include/fontconfig/" FONTCONFIG_LIBS="-L/home/david/QT5/libfontconfig/lib -lfontconfig" \
FREETYPE_CFLAGS="-I/home/david/QT5/libfreetype2/include/freetype2/" FREETYPE_LIBS="-L/home/david/QT5/libfreetype2/lib -lfreetype" \
LIBTIFF_CFLAGS="-I/home/david/QT5/libtiff/include" LIBTIFF_LIBS="-L/home/david/QT5/libtiff/lib -ltiff" \
LIBOPENJPEG_CFLAGS="-I/home/david/QT5/libopenjpeg1.5/include" LIBOPENJPEG_LIBS="-L/home/david/QT5/libopenjpeg1.5/lib -lopenjpeg" \
LIBPNG_CFLAGS="-I/home/david/QT5/dfb_arm/include" LIBPNG_LIBS="-L/home/david/QT5/dfb_arm/lib -lpng" \
POPPLER_QT5_CFLAGS="-I/home/david/QT5/qt-everywhere-opensource-src-5.6.2/qt_arm/include" POPPLER_QT5_LIBS="-L/home/david/QT5/qt-everywhere-opensource-src-5.6.2/qt_arm/lib -lQt5Gui -lQt5Core -lQt5Widgets -lQt5Xml -lQt5Test" \
POPPLER_QT5_TEST_CFLAGS="-I/home/david/QT5/qt-everywhere-opensource-src-5.6.2/qt_arm/include" POPPLER_QT5_TEST_LIBS="-L/home/david/QT5/qt-everywhere-opensource-src-5.6.2/qt_arm/lib -lQt5Gui -lQt5Test -lQt5Core -lQt5Widgets -lQt5Xml" \
--enable-poppler-qt5 --disable-poppler-qt4 --enable-libjpeg --enable-libpng --disable-static --enable-xpdf-headers --disable-cairo-output
2、编译poppler 应用程序,QT 的.pro文件中指定库:
INCLUDEPATH += /home/david/QT5/libpoppler/include/poppler/qt5 /home/david/QT5/libpoppler/include/poppler /home/david/QT5/libtiff/include \
/home/david/QT5/libexpat/include /home/david/QT5/dfb_arm/include
unix:LIBS += -L/home/david/QT5/libpoppler/lib -lpoppler-qt5 -lpoppler -L/home/david/QT5/libtiff/lib -ltiff \
-L/home/david/QT5/libexpat/lib -lexpat -L/home/david/QT5/dfb_arm/lib -lpng15 -lz \
-L/home/david/QT5/qt-everywhere-opensource-src-5.6.2/qt_arm/lib -lQt5Gui -lQt5Core -lQt5Widgets -lQt5Xml
DEPENDPATH += /home/david/QT5/libpoppler/lib /home/david/QT5/dfb_arm /home/david/QT5/libtiff/lib /home/david/QT5/libexpat/lib
代码可参考:http://blog.csdn.net/chy555chy/article/details/51613545
3、将1中编译好的QT交叉编译库和各种链接库拷贝到机器端,在2中选好交叉编译工具链编译好应用程序拷贝到机器,运行app即可。
遇到的问题:1、不同版本的库支持不一样,所以在编译第三方库的时候可能会有问题。2、代码中可能会有include<1***>和include<Qcore/2***>,如果包含路径下知道Qcore这层,则会爆出找不到1***错误。所以在指定include路径的时候要注意。3、Cmake,在编译这些库前,很少用到cmake,有的cmake是支持toolchair来指定环境变量设置的。要学习使用cmake。4、编译poppler的时候报qt5 moc找不到,apt-get install qt-dev-default....。我的服务器是因为之前安装的qt5很多应用被损坏导致。5、遇到过通过-l L 等指定第三方库找不到的情况,暴力的解决办法:直接把编译好的第三方库拷贝到交叉编译工具链的libc/usr下。
- poppler xilinx交叉编译
- poppler交叉编译
- 搭建Xilinx交叉编译环境
- Ubuntu16.04构建Xilinx交叉编译环境
- zedboard开发-建立Xilinx交叉编译环境
- QT5.2.1 Poppler编译
- 编译poppler-qt5
- poppler windows 编译 详解 心得
- windows下编译poppler过程
- poppler windows 编译 详解 心得
- zedboard--建立Xilinx交叉编译环境(二)
- libpcap,libnet,libnids交叉编译到xilinx上
- xilinx-arm-linux交叉编译链 安装总结
- arm-Xilinx-linux-gnuieabi 交叉编译环境搭建
- Poppler 及 Poppler-Qt4 在Windows下基于MinGW的静态编译 - Poppler Qt4
- ZedBoard学习手记(一) First Step——建立Xilinx交叉编译环境
- 嵌入式web服务器lighttpd的交叉编译及配置--xilinx zynq
- 安装linux for xilinx交叉编译环境中遇到“Permission denied”
- angularjs ng-repeat
- mybatis入门(三)增删改查
- AngularJS全局API
- Matlab绘图
- 数组排序
- poppler xilinx交叉编译
- 1002. 写出这个数 (20)-浙大PAT乙级真题java实现
- git命令整理
- Leetcode160. Intersection of Two Linked Lists/C++
- 分布式与集群的简单解释
- 自动弹出QQ对话窗JS代码
- redis 存储数组和对象
- 水滴直播产品经理的反思
- doubango编译过程中遇到的:tdav_producer_screencast_ddraw.cpp(234) : error C2039: 'SetCooperativeLevel' : is n