嵌入式开发板利用curl库解决POSE数据的问题

本开发使用的是curl库文件进行POSE数据传输


 首先在Linux系统下进行编译,提示  undefined reference to `curl_easy_init’

那么在编译的时候导入库文件  就是加入命令  -l curl

gcc -l curl test.c -o  test

一般的Linux下都有该库文件,如果没有,自己百度找方法,这个比较容易

下载的库文件是连接是(官网)

https://curl.haxx.se/download.html

Linux系统下实现pose数据之后,基本功能也就完成了。

 

接下来就是问题的就是要解决交叉编译的问题。因为安装的交叉编译环境,直接用arm-linux-gcc编译的文件找不到库文件,所以开始的时候总是提示


一开始我以为简单的把/usr/inlcude/下的 curl.h等库文件直接复制到我所需要编译的工程目录下即可。其实这并不行。因为交缠编译的时候,编译器并不是这样去查找所需文件的

百度之后,找到一篇博客,对我非常有用,贴上链接就是因为按照该步骤,使我能够正确编译生成库文件

arm 的交叉编译 方式(在下载了源码包并且解压进入该目录之后,直接把以下文字复制粘贴到命令行窗口,回车)

在完成了PC端的编译后,arm的交叉编译就简单很多,之前的步骤都一样,解压进入目录。
输入配置信息如下:
CPPFLAGS="-I/home/linux/arm/openssl/ -I/home/linux/arm/openssl/include" LDFLAGS="-L/home/linux/arm/openssl/lib" LIBS="-ldl" ./configure --host=arm-linux CC=arm-linux-gcc CXX=arm-linux-g++ --with-ssl --enable-shared --enable-static --disable-dict --disable-ftp --disable-imap --disable-ldap --disable-ldaps --disable-pop3 --disable-proxy --disable-rtsp --disable-smtp --disable-telnet --disable-tftp --disable-zlib --without-ca-bundle --without-gnutls --without-libidn --without-librtmp --without-libssh2 --without-nss --without-zlib --prefix=/home/linux/arm/curl
其中 --host=arm-linux CC=arm-linux-gcc CXX=arm-linux-g++配置交叉编译器 
(如果是读者是使用别的编译器的时候,改成对应的即可)
正常情况不会出错,如果出错,根据提示再具体解决吧。然后 make 接着  make install
那么 prefix 指定的就是无误编译生成依赖包的文件目录


有了这个之后,接下来的事情就好办了
include是生成的头文件,lib是依赖库
所以,编译的命令是
arm-linux-gcc curl.c  -o Curl -lcurl -I/home/linux/arm/curl/include -L/home/linux/arm/curl/lib 
可以看到,已经编译成功。

lib目录,该文件生成的是包含了动态链接库,进入该文件下
cd /home/linux/arm/curl/lib
我是开了nfs,直接挂在到共享目录下
cp -a libcurl.so* /FriendlyARM/nfs/lib/
然后再 在开发板上,将该库文件复制到 /lib 目录下
cp /mnt/lib/* /lib/
这一步就是把库文件放在开发板上,程序运行所需

最后,把交叉编译生成的可执行文件传到开发板上运行即可。



最后放上几个参考链接:
http://blog.csdn.net/strugglelg/article/details/8926989
http://blog.csdn.net/MingLLu/article/details/50161901
http://blog.csdn.net/yk150915/article/details/78813374



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值