请选择 进入手机版 | 继续访问电脑版
快捷导航

注册后可查看大图哦

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
本帖最后由 小亮 于 2018-9-20 10:14 编辑

百度云链接:https://pan.baidu.com/s/1KmpFGHBKqwwyay4VOip74A 密码:yu1h       libcurl和openssl分别使用的是curl-7.51.0、openssl-1.0.2p
1.mipsel-openwrt-linux-gcc编译openssl
如何配置交叉编译环境请参考:http://bbs.anymsg.net/forum.php? ... ypeid%26typeid%3D12
不同版本Makefile有差别,参考博客http://blog.csdn.net/clirus/article/details/50151427,博客中说道如果是mips好茶编译,需要修改Makefile将其中的-m64后缀全部删除,但是我的Makefile并没有-m64,所以默认跳过
(1)解压
(2)cd 进入解压目录openssl-1.0.2p
(3)配置./config no-asm shared --cross-compile-prefix=mipsel-openwrt-linux-
配置中加入--prefix=/usr/curl,若不指定则默认/usr/local/ssl。
编译的openssl库就在该目录下,也是编译libcurl的时候依赖库路径,若openssl为默认路径,则编译libcurl是配置--with-ssl即可,也不需要指定目录,反之则指定--with-ssl=/usr/curl
(4)make&make install
查看/usr/local/ssl/lib,包括6个文件分别是libcryto.a、libcryto.so、libcryto.so.1.0.0、libssl.a、libssl.so、libssl.so.1.0.0

2.mipsel-openwrt-linux-gcc编译libcurl
(1)解压
(2)cd 进入解压目录curl-7.51.0
(3)配置./configure --host=mipsel-linux CC=mipsel-openwrt-linux-gcc CXX=-mipsel-openwrt-linux-gnueabihf-g++ CPPFLAGS="-I/usr/local/ssl/ -I/usr/local/ssl/include" LDFLAGS="-L/usr/local/ssl/lib" LIBS="-ldl -lssl -lcrypto" --with-ssl
楼主配置时没有使用--prefix指定库的安装路径,默认安装在/usr/local/lib。配置完成后打印信息中SSL为 enable,没有打开SSL则为no
(4)make&make install
查看/usr/local/lib,包括五个文件分别是libcurl.a、libcurl.la、libcurl.so、libcurl.so.4、libcurl.so.4.4.0

3.测试
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <curl/curl.h>
  4. #include <curl/easy.h>
  5. int main()
  6. {
  7. <blockquote>         CURL *curl;
复制代码
命令行执行mipsel-openwrt-linux-gcc -L/usr/local/lib -o test test.c -lcurl -ldl

楼主报错,没有#include <curl/curl.h>,因此在.c文件中改成了相对路径,具体如下(路径不一样则相对路径不同):
#include "./curl-7.51.0/include/curl/curl.h"
#include "./curl-7.51.0/include/curl/easy.h"


4.搭建nfs
(1)sudo apt-get install nfs-kernel-server
(2)配置nfs服务器,sudo vi /etc/exports
在文件中添加:
  1. /root/iat/nfs   *(rw,sync,no_root_squash)
复制代码
/usr/local/ssl/lib  *(rw,sync,no_root_squash)

nfs目录可以配置多个文件夹,然后保存。(3)重启nfs服务器,sudo /etc/init.d/nfs-kernel-server restart
(4)关闭防火墙,ufw disable

5.设置开发板ip并ping通nfs服务器
(1)设置开发板ip
ifconfig br-lan 192.168.11.158(br-lan不同开发板不同,使用ifconfig查看)
(2)ping 192.168.11.164
(3)挂载
mount -t nfs -o nolock 192.168.11.164:/root/iat/nfs /mnt
(4)cd /mnt,即可看见nfs文件夹中的内容
ping外网时,若出现ping: sendto: Network is unreachable
执行命令route,发现网关(Gateway)没有设置,执行命令route add default gw 192.168.11.1,再使用route查看,可以ping通外网了

6.将编译的libcurl与openssl库cp到开发板中
(1)使用nfs挂载到相应的库目录,分别将libcurl和openssl的6个库cp到开发板的/lib目录下
(2)执行./test
若报错curl: (6) Couldn't resolve host 'www.baidu.com',DNS出问题了
在开发板中执行vi /etc/resolv.conf,将nameserver 127.0.0.1换成google的nameserver 8.8.8.8,再次执行./test即可打印出百度的网页信息

若出现其他细节问题请查阅资料解决

编译libcurl支持openssl参考博客:
https://blog.csdn.net/suguolin/article/details/53220421
https://blog.csdn.net/clirus/article/details/50151427
https://blog.csdn.net/jefferylakie/article/details/72820889

nfs搭建参考博客:https://blog.csdn.net/thisway_diy/article/details/68067350
ping外网报错参考博客:https://blog.csdn.net/qingtingchen1987/article/details/7045068
libcurl配置时SSL support:no参考博客:https://bbs.csdn.net/topics/391936906

Connecting & Messaging from Any.

共 4 个关于本帖的回复 最后回复于 2018-10-30 23:58

小亮 中级会员 发表于 2018-10-30 23:58:34 | 显示全部楼层
mipsel-openwrt-linux-gcc -L/usr/local/lib -L/usr/asound/lib -I /usr/local/include -I /usr/asound/include -o pcm pcm.c -lfftw3 -lm -lasound -lpthread -ldl -lrt
Connecting & Messaging from Any.
举报 使用道具
小亮 中级会员 发表于 2018-10-8 11:24:18 | 显示全部楼层
1) 修改/etc/config/network
wan 接口的“ifname”改为“apcli0”下图所示
2) 执行 iwpriv apcli0 get_site_survey 查看 wifi 列表,并记录下 wifi 名,加密方式
如上图所示,作者建立了一个 SSID 是“robinson” 的热点,这个热点加密方式是
“WPA2PSK/AES”。
3) 修改配置文件/etc/config/wireless,根据上一步的 SSID,加密方式填写如下JS7628 开发板 openwrt 入门教程 杭州卓钛科技有限公司 www.zhuotk.com
保存退出。
4) 然后执行命令
/etc/init.d/network restart
重启网络或者直接重启板子
Connecting & Messaging from Any.
举报 使用道具
小亮 中级会员 发表于 2018-10-8 11:23:37 | 显示全部楼层
uci set wireless.@wifi-iface[0].ApCliSsid='HUAWEI'
uci set wireless.@wifi-iface[0].ApCliAuthMode='WPA2PSK'
uci set wireless.@wifi-iface[0].ApCliEncrypType='AES'
uci set wireless.@wifi-iface[0].ApCliPassWord='1231512315'
uci commit
/etc/init.d/network restart
Connecting & Messaging from Any.
举报 使用道具
小亮 中级会员 发表于 2018-8-22 14:18:36 | 显示全部楼层
test:test.o cJSON.o Cmd5.o
        mipsel-openwrt-linux-gcc -L/usr/local/lib test.o Cmd5.o -lcurl -ldl -lssl
test.o:test.c Cmd5.h
        mipsel-openwrt-linux-gcc -L/usr/local/lib -c test.c -o test.o -lcurl -ldl
Cmd5.o:Cmd5.c Cmd5.h
        mipsel-openwrt-linux-gcc -c Cmd5.c -o Cmd5.o
clean:
        rm *.o
Connecting & Messaging from Any.
举报 使用道具
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

推荐板块

精彩推荐

热门排行

明星用户

手机版|小黑屋|AnyMSG ( ©AnyMSG 2009 - 2017 · ICP备16009991号 )

GMT+8, 2019-4-25 12:30