带wiringPi库的交叉编译如何进行
1.正常我们先要交叉编译wiringPi库,编译出的库适合树莓派,这时交叉编译可执行程序的时候,链接库的格式也是正确的。
2.通过 -I -L来指定
但是经常会因为没办法交叉编译wiringPi库而出现错误,
我们需要把树莓派的wiringPi的库拿过来用。
在树莓派终端输入:
cd /usr/lib
ls
将树莓派下该文件移植到Linux操作系统下:
cd /usr/lib
ls
出现以上问题。
首先我们需要在Linux安装ssh和开启ssh服务
su -
在root权限下:
//安装
sudo apt-get install openssh-server
//开启服务
service sshd start
此过程参考:
Linux安装ssh和开启ssh服务
接着接着解决Ubuntu的root账号无法登录SSH问题-Permission denied, please try again
是因为系统默认禁止root用户登录ssh,此时我们可以这样解决:
su -
给予root权限
gedit /etc/ssh/sshd_config
//进行修改
重启服务
systemctl restart sshd.service
修改结果:
此过程参考:
解决Ubuntu的root账号无法登录SSH问题-Permission denied, please try again
–
—还有一种比较土的方法就是利用FileZilla:
来协助文件的传输。
Linux创建连接命令 ln -s创建软连接
ln -s 是linux中一个非常重要命令,一定要熟悉。它的功能是为某一个文件在另外一个位置建立一个同不的链接,这个命令最常用的参数是-s,
软连接:(符号连接)
1.软链接文件有类似于Windows的快捷方式。它实际上是一个特殊的文件。
2.在软连接中,文件实际上是一个文本文件,其中包含的有另一文件的位置信息。
3.它只会在你选定的位置上生成一个文件的镜像,不会占用磁盘空间
硬连接:
1.硬连接指通过索引节点来进行连接。在Linux的文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,称为索引节点号(Inode Index)。在Linux中,多个文件名指向同一索引节点是存在的。一般这种连接就是硬连接。
2.没有参数-s, 它会在你选定的位置上生成一个和源文件大小相同的文件,无论是软链接还是硬链接,文件都保持同步变化
//具体用法是:ln -s 源文件 目标文件。
ln -s libwiringPi.so.2.50 libwiringPi.so
ls
ls -l
参考文章:
Linux创建连接命令 ln -s创建软连接
//交叉编译
arm-linux-gnueabihf-gcc demo2.c -I /home/dazai/WiringPi/wiringPi -L. -lwiringPi
//可执行文件复制到树莓派
scp crosscompbindemo2.c pi@192.168.1.100:/home/pi
树莓派完成运行。