快速编译适用于铁威马Nas的软件

作者:

铁威马Nas自带的生态比较少,除了用Docker解决以外,还可以考虑交叉编译的方式来生成适用的软件。

官方的文档非常少,基本等于没有,特别是对于UI部分的集成只字不提,不过根据发布的三个工具来看,还是比较清晰

  • 打包工具,生成tpk软件,目录结构和openwrt有点像
  • x86_64的编译sdk
  • arm的编译sdk

由于软件包下载比较慢,也比较大,我这里构建了一个x86_64可用的镜像,包含了必要的依赖,适用于大部分make或者cmake管理的软件。这里用libuv为例展示下用法。

镜像地址在:https://hub.docker.com/r/htynkn/terramaster-sdk,版本对应官方提供的sdk版本,即最新的是1.0.1。在下载了libuv代码后直接执行

docker run -it -v $(pwd):/code htynkn/terramaster-sdk:1.0.1 bash

相关工具在/sdk目录,由于libuv用了cmake,所以直接指定CC和GCC就可以了

mkdir build
cd build
env CC=/sdk/x86_64_builtroot_toolchain/bin/x86_64-tnas-linux-gnu-gcc CXX=/sdk/x86_64_builtroot_toolchain/bin/x86_64-tnas-linux-gnu-g++ cmake ..
make uv

我尝试了一些常用C/C++库,基本没有遇到什么问题。没有特别仔细研究官方具体做出了什么裁剪,但是目前看基本通用。

评论

2 条对“快速编译适用于铁威马Nas的软件”的回复

  1. qq

    terramaster-sdk:1.0.1的docker镜像和容器都装好了,请问怎样使用编译应用的主程序和TPK的打包呢?能出个详细的教程吗?

    1. htynkn

      参考官方文档,指定CC等路径就行了

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注