xlnt库 Linux下编译方法(Ubuntu编译 + ARM交叉编译)

        xlnt 是一个现代的 C ++ 库,用于处理内存中的电子表格,并按照 ECMA 376 第 4 版的说明从 XLSX 文件读取 / 写入。支持多平台编译,支持Windows、UNIX(如Linux)、Mac等操作系统。也可跨平台交叉编译,用于给Arm、PowerPC等嵌入式平台使用。

        本文主要讲解其在Linux系统下的编译方法,包含PC机下的编译以及ARM交叉编译。

首先下载库源码:

        xlnt库源码:GitHub - tfussell/xlnt: Cross-platform user-friendly xlsx library for C++11+:bar_chart: Cross-platform user-friendly xlsx library for C++11+ - GitHub - tfussell/xlnt: Cross-platform user-friendly xlsx library for C++11+https://github.com/tfussell/xlnt

        第三方库libstudxml源码:

libstudxml - C++ XML libraryhttps://git.codesynthesis.com/cgit/libstudxml/libstudxml/        编译前需要把libstudxml源码放入xlnt源码中,方法如下:

        解压xlnt_master.zip,然后进入xlnt_master/third-party目录,此时可以看到该目录下libstudxml文件夹为空,将git下来的libstudxml_master.zip放到xlnt_master/third-party目录并解压,即可自动将libstudxml源码放到此libstudxml文件夹

PC机(Ubuntu系统)下编译方法:

        在Ubuntu PC机下,如果未安装cmake、gcc、g++等工具,先执行如下命令安装它们:

        sudo apt-get update

        sudo apt-get install cmake

        sudo apt-get install gcc

        sudo apt-get install g++

        然后进入xlnt_master目录,并在该目录打开终端,执行如下命令:

        mkdir build

        cd build

        cmake ..

        make

        执行完后,即可在xlnt_master/build/source目录下找到编译好的库文件libxlnt.so

ARM平台交叉编译方法:

        在交叉编译前,首先需要将自己平台的交叉编译工具链安装到该Ubuntu PC机下,具体安装方法可参考对应平台的编译手册,此处略。

        然后在xlnt_master目录下创建一个名为CrossCompiler.cmake的文件,文件内容为:

set(CMAKE_SYSTEM_NAME Linux)
set(CMAKE_C_COMPILER /opt/arm/opt/ext-toolchain/bin/arm-linux-gnueabihf-gcc)
set(CMAKE_CXX_COMPILER /opt/arm/opt/ext-toolchain/bin/arm-linux-gnueabihf-g++)

        其中CMAKE_C_COMPILER为交叉编译工具链中的C编译器的路径及名字,CMAKE_CXX_COMPILER为交叉编译工具链中的C++编译器的路径及名字。此处用我自己的路径及名字做举例,你们在编译时用你自己的路径及名字代替即可。

        然后进入xlnt_master目录,并在该目录打开终端,执行如下命令:

        mkdir build_cross

        cd build_cross

        cmake -DCMAKE_TOOLCHAIN_FILE=../CrossCompiler.cmake ..

        make

        执行完后,即可在xlnt_master/build_cross/source目录下找到编译好的库文件libxlnt.so

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

mzgj376008300

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值