- 在嵌入式开发过程中,经常需要用到某些库,这些库需要运行在开发板上(即需要交叉编译出这些库)
- 使用 buildroot 来给 ARM 板编译程序、编译库会很简单;配置下界面就可以了
- 手工交叉编译,这种方法在编译、安装一些小程序时很有用(特别是这些小程序依赖条件比较少时)
- 编译程序时去哪找头文件? 系统目录:就是交叉编译工具链里的某个 include 目录; 也可以自己指定:编译时用 “ -I dir ”选项指定。
- 链接时去哪找库文件?
系统目录:就是交叉编译工具链里的某个 lib 目录;
也可以自己指定:链接时用 “ -L dir ”选项指定。
- 运行时去哪找库文件?
系统目录:就是板子上的/lib、/usr/lib 目录;
也可以自己指定:运行程序用环境变量 LD_LIBRARY_PATH 指定。
- 运行时不需要头文件,所以头文件不用放到板子上
- 头文件还可能来自其他库(依赖),那么就还要去交叉编译其他库
常见错误问题
- 头文件
- 库文件
库在哪里?
- 运行时库
- 交叉编译程序的万能命令
如果你编译的是一个库,请把得到的头文件、库文件放入工具链的 include、lib 目录里。别的程序要使用这些头文件、库时,会很方便。