如何在交叉编译链中链接json库

下载源码

wget http://oss.metaparadigm.com/json-c/json-c-0.9.tar.gz

 

tar xvf json-c-0.9.tar.gz 

 

cd json-c-0.9/

./configure --prefix=$PWD/tmp CC=/opt/toolchain/toolchain-4.5.1-farsight/bin/arm-none-linux-gnueabi-gcc --enable-shared=yes --enable-static=no --host=arm-linux-gnueabihf --build=i686-pc-linux-gnu

 

make

 

make install

执行完以上命令后,在当前路径会新建一个 tmp 目录,将 tmp 目录的 include 和 lib 目录的所有文件按照目录层次结构拷贝到工具链目录下的 include 和 lib 中。然后使用交叉编译器即可编译使用了json库的项目。

我们需要指定安装目录,利用–prefix选项,这里我们将安装路径指定为本目录下的tmp目录(默认一般为/lusr/local目录),当make install 的时候,编译好的库和include头文件就会被拷贝到这个目录下。其次,我们指定CC环境变量,编译的时候会利用CC所指定的编译器进行编译,这里我们指定CC为我们所需要使用的toolchain的gcc编译器(也可以直接用export设置CC的环境变量值,同样也可以设置CFLAGS等环境变量)。因为我们要编译为动态库,所以指定enable-shared,disable static,另外,需要指定host和build,解释如下 
–build= 谁在这里编译? 意思说你目前的编译动作在哪里跑的 ? 我们的编译动作是在pc上进行的,所以 –build=x86-p

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值