OpenWrt HelloWorld程序开发入门 (三)
1、首先编译生成开发环境,在上一节已经提到(点击这里)
2、首先使用git命令获取源代码并创建SDK目录
3、把现有的helloworld工程拷贝到chaos_calmer/package目录下(如果需要helloworld工程的程序,请点击在这里)
(可以自己创建目录,输入代码)
3.1 目录 helloworld/Makefile:
include $(TOPDIR)/rules.mkPKG_NAME:=helloworld
PKG_RELEASE:=1.0PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME)
PKG_CONFIG_DEPENDS :=include $(INCLUDE_DIR)/package.mk
define Package/helloworldSECTION:=utilsCATEGORY:=UtilitiesTITLE:=Hellworld Program
endefdefine Package/helloworld/descriptiona OpenWrt demo of Hello World .
endefdefine Build/Preparemkdir -p $(PKG_BUILD_DIR)$(CP) ./src/* $(PKG_BUILD_DIR)/
endefdefine Package/helloworld/install$(INSTALL_DIR) $(1)/usr/sbin$(INSTALL_BIN) $(PKG_BUILD_DIR)/helloworld $(1)/usr/sbin/helloworld
endef$(eval $(call BuildPackage,helloworld))
3.2 目录 helloworld/src/helloworld.c
#include <stdio.h>
int main()
{printf("hello world ! \t\n");return 0;
}
3.2 目录 helloworld/src/Makefile
CC = gcc
FLAG = -Wallhelloworld:$(CC) $(FLAG) helloworld.c -o helloworld
4、配置编译:
4.1 回到chaos_calmer目录。
输入命令:cd /home/sl/chaos_calmer
4.2 输入命令:make menuconfig
如果出现上图情况:Build dependency:Please install the Subversion client
说明你还没有完全安装编译OpenWrt所需的安装包,请输入以下命令:
sudo apt-get install zlib1g-dev gawk flex patch git-core g++ subversion
4.3 请选择Utilities--->选项
(为什么要选择这个选项?因为在Makefile中提到:CATEGORY:=Utilities)
4.4 在下图选项中,找到helloworld选项,然后输入M或者输入空格,直到尖括号<>里面是M(以模块方式插入内核)
T
4.5 选择目标文件的系统,选择X86
(进入Target System 选项,然后只勾选X86选项)
4.6 然后按下右键,选择<Exit>选项,然后再选择<Exit>选项,最后选择<Yes>选项,保存你的新配置
5 编译helloworld应用
5.1 输入命令:
make package/helloworld/compile V=99
5.2 如果出现下图错误:
make[2]: Leaving directory '/home/sl/chaos_calmer/package/libs/toolchain'
make[1]: *** [package/libs/toolchain/compile] Error 2
make[1]: Leaving directory '/home/sl/chaos_calmer'
make: *** [package/helloworld/compile] Error 2
说明你没有编译源源码。
输入命令:
make (需要等待3个小时左右,编译过程中需要连接外网)
再make编译过程中,有可能出现以下情况:(因为没有连接外网)
make -r world:build failed. Please re-run make with -j1 V=s to see what's going on
make:*** [world] Error 1
6 编译完成后,生成helloworld_1.0_x86.ipk安装文件
这个文件在chaos_calmer/bin/x86/packages/base目录下
7 在OpenWrt虚拟机系统中安装vsftpd
输入命令:
opkg update
opkg install vsftpd
8 在windows的cmd命令提示符中使用ftp把helloworld_1.0_x86.ipk安装文件上传到OpenWrt虚拟机系统中
8.1 把helloworld_1.0_x86.ipk安装文件拷贝到C:\Users\Administrator目录下
8.2 打开cmd命令提示符,输入ftp192.168.56.2命令(openWrt的ip),然后输入用户名和密码
8.3 输入lcd命令,可查看目前的本地目录
目前的本地目录 C:\Users\Administrator。
8.4 输入dir命令,可查看服务器(openWrt系统)的当前目录
8.5 上传helloworld_1.0_x86.ipk安装文件到openWrt系统中
输入命令:put helloworld_1.0_x86.ipk
8.6 使用opkg命令安装helloworld_1.0_x86.ipk文件,并且使用which命令查看helloworld安装在哪里,最后输入helloworld即可看到输出“hello world!”
输入命令:
opkg install helloworld_1.0_x86.ipk
which helloworld
helloworld
https://blog.csdn.net/hui523hui523hui523/article/details/38366427
https://blog.csdn.net/jinchengzhou/article/details/46623605
OpenWrt HelloWorld程序开发入门 (三)相关推荐
- 教孩子学编程python语言pdf_iOS(iPhone)应用程序开发入门视频教程(35讲)
资源名称:iOS(iPhone)应用程序开发入门视频教程(35讲) 资源目录: [IT教程网]ios(iPhone)应用程序开发入门视频教程:第10讲多视图应用程序 [IT教程网]ios(iPhone ...
- 小程序onload_微信小程序开发入门之共享账本(十四)
微信小程序开发入门之共享账本(十四) (备注:微信小程序的wxml文件相当于HTML文件,wxss文件相当于CSS文件,js文件就是JavaScript文件,数据库为NoSQL数据库,数据库脚本语言也 ...
- java队名,《JavaWeb程序开发入门》课后练习(含答案)
<<JavaWeb程序开发入门>课后练习(含答案)>由会员分享,可在线阅读,更多相关<<JavaWeb程序开发入门>课后练习(含答案)(10页珍藏版)> ...
- 从零开始学前端第十七讲--微信小程序开发入门
微信小程序开发入门 主讲人介绍 沁修,葡萄藤技术总监 项目经验丰富,擅长H5移动项目开发. 专注技术选型.底层开发.最佳代码实践规范总结 直播录屏版 https://v.qq.com/x/page/n ...
- 微信小程序开发入门(连载)—— Hello World
上一篇:微信小程序开发入门(连载)-- 微信公众平台配置 3.1 微信开发者工具 前往 开发者工具下载页面 (https://developers.weixin.qq.com/miniprogram/ ...
- OPhone程序开发入门之音乐播放器
OPhone程序开发入门之音乐播放器 OPhone平台提供了完整的多媒体解决方案.为开发者提供了统一的,简单易用的开发接口.本文首先介绍了OPhone平台的多媒体框架,然后详细介绍了 在OPhone平 ...
- 《微信小程序开发入门精要》——导读
本节书摘来自异步社区<微信小程序开发入门精要>一书中的导读,作者 李宁,更多章节内容可以访问云栖社区"异步社区"公众号查看 目 录 第1章 微信小程序入门 第1章第1节 ...
- android入门程序源代码,安卓程序开发入门
您可能感兴趣的话题: 安卓程序开发入门 核心提示:本教程为大家介绍采用Eclipse软件来编写安卓Hello,World程序. 创建一个新项目是很简单的,只要你安装了Eclipse插件,并且你的Ecl ...
- Linux 应用程序开发入门
Linux 应用程序开发入门 Neo Chen (netkiller) <openunix@163.com> 版权 © 2011, 2012 http://netkiller.github ...
最新文章
- 在线项目管理工具比较之二:LiquidPlanner
- 千金买宝刀 | 斜穿交叉路口对应的新颖的赛道
- OS X 下在代码中枚举所有进程的方法
- DB2数据库常用工具
- Linux学习总结 (未完待续...)
- 网站XML格式的网站地图(sitemap)格式
- 收到邮件怎么升级鸿蒙,鸿蒙2.0怎么升级 鸿蒙2.0升级方法
- centos 文件夹网络连接_CentOS的网络配置的命令详解
- 电音风靡全球,不了解一下吗?
- 总结定时器设计方法_PLC定时器(T)的工作原理及使用注意事项
- matlab灰度直方图均衡化_图像的灰度直方图、直方图均衡化、直方图规定化(匹配)
- linux 统计文件字节和行数,Linux命令-统计文件中的字节数、字数、行数:wc
- spring源码视频教程哪个好
- 我收集了12款自动生成器,无聊人士自娱自乐专用
- 计算机屏幕自己动,ipad屏幕失灵自己乱跳怎么办【图文】
- 纸壳CMS体验升级,快速创建页面,直接在页面中修改内容
- openwrt 开启p2p下载后不定时断流处理办法
- Linux环境变量和命令行参数
- 漂亮的html登录页面
- 正则筛选图片url(js)