本篇记录openwrt交叉工具链接编译的方法及遇到的问题warning: environment variable 'STAGING_DIR' not defined的解决方案。
1.从主机拷贝交叉工具链到ubuntu虚拟机里,这里放到/home/scott/trunk目录,名称为
toolchain-arm_cortex-a7_gcc-8.4.0_musl_eabi.tar.xz
2.解压工具包并命名为toolchain-arm
scott@ubuntu1804:~/trunk$ tar -xf toolchain-arm_cortex-a7_gcc-8.4.0_musl_eabi.tar.xz
scott@ubuntu1804:~/trunk$ mv toolchain-arm_cortex-a7_gcc-8.4.0_musl_eabi.tar.xz toolchain-arm
3.查看交叉编译工具
4.编写test.cpp源码时行测试。
//test.cpp
#include <iostream>
using namespace std;
int main()
{
std::cout << "test toolchain-arm....." << std::endl;
return 0;
}
编译:
scott@ubuntu1804:~/trunk/toolchain-arm/bin$ arm-openwrt-linux-cpp test.cpp -o test
arm-openwrt-linux-cpp: warning: environment variable 'STAGING_DIR' not defined
暂存目录没有定义,这里把要工具链的暂存目录导出一下
工具链目录/home/scott/trunk/toolchain-arm
export STAGING_DIR=/home/scott/trunk/toolchain-arm
再次编译Ok,生成test可执行文件
参考:
https://wenku.csdn.net/answer/e1ae2b7c0f0a4de69b6c887257affc9b