为Raspberry Pi Toolchain编译C / C ++库

时间:2013-03-19 03:50:17

标签: cross-compiling libraries raspberry-pi toolchain

我一直致力于为Raspberry Pi开发设置工具链。我设置the official Raspberry Pi cross-compiler没有问题,但现在我开始需要一些外部库,比如OpenSSL,以及最近发布的OpenMAX库。

将C / C ++库集成到交叉编译器中的最简单方法是什么?

1 个答案:

答案 0 :(得分:1)

好的,所以我找到了一种方法来使用第三方库和交叉编译器,但它似乎不是最佳的。基本上,我只是将我需要的库安装到我的Raspberry Pi(运行Arch Linux)

pi:# pacman -S libssl-dev

然后使用

pi:# tar -zcvf include.tar.gz /usr/include
pi:# tar -zcvf lib.tar.gz /usr/lib

压缩我的Pi上的include和lib目录。

接下来,我将它们复制到我的本地机器(运行Debian squeeze的i686),通过sftp运行交叉编译器:

debian:$ sftp root@<pi_ip_address>:/usr/include.tar.gz
debian:$ sftp root@<pi_ip_address>:/usr/lib.tar.gz

我使用该命令备份了交叉编译器的includelib目录(以root身份,因为我的交叉目录位于/opt

debian:# tar -zcvf OLDinclude.tar.gz ./include
debian:# tar -zcvf OLDlib.tar.gz ./lib

并继续将Pi中的档案提取到交叉编译器的sysroot/usr/目录。

最后,为了测试它是否有效,我使用<cross>-gcc<cross>-g++编译了一个使用该库的程序。 。 。它工作了!现在,我可能会编写一个bash脚本来为我处理大部分这些步骤。如果有人对如何简化这一过程有任何提示,请告知。


注意:对于像我这样的其他Linux新手,'$'表示普通用户shell,而'#'表示超级用户(即root)shell。普通用户可以使用su命令升级到超级用户。