【发布时间】:2013-03-07 15:15:54
【问题描述】:
我一直致力于为 Raspberry Pi 开发设置工具链。我设置 the official Raspberry Pi cross-compiler 没有问题,但现在我开始需要一些外部库,例如 OpenSSL,以及最近发布的 OpenMAX 库。
将 C/C++ 库集成到交叉编译器中的最简单方法是什么?
【问题讨论】:
标签: cross-compiling libraries raspberry-pi toolchain
我一直致力于为 Raspberry Pi 开发设置工具链。我设置 the official Raspberry Pi cross-compiler 没有问题,但现在我开始需要一些外部库,例如 OpenSSL,以及最近发布的 OpenMAX 库。
将 C/C++ 库集成到交叉编译器中的最简单方法是什么?
【问题讨论】:
标签: cross-compiling libraries raspberry-pi toolchain
好的,所以我找到了一种将 3rd 方库与交叉编译器一起使用的方法,但它似乎不是最优的。基本上,我只是将所需的库安装到我的 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 目录。
接下来,我通过sftp将它们复制到运行交叉编译器的本地机器(运行Debian挤压的i686):
debian:$ sftp root@<pi_ip_address>:/usr/include.tar.gz
debian:$ sftp root@<pi_ip_address>:/usr/lib.tar.gz
我使用命令备份了交叉编译器的include 和lib 目录(作为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命令升级为超级用户。
【讨论】: