1.网上下载goahead-3.1.2-0-src.tgz包

2.解压

tar -zxvf goahead-3.1.2-0-src.tgz

3.编译

cd goahead-3.1.2-0

make CC=arm-hisiv100-linux-gcc ARCH=arm

在linux-arm-default/bin中可以找到goahead和相关库文件,将库文件拷贝到板子/lib下

4.测试

运行./goahead -v /web 192.168.1.155:9000

问题1:

goahead: 0: Can't get host address for host dvr: errno 11

goahead: 0: Can't initialize server. Exiting.

出处:goahead-3.1.1-0\src\http.c文件的setLocalHost函数

修改:

#if 0   

    if ((hp = gethostbyname(host)) == NULL) {   //MHB 2013-10-22   

        error("Can't get host address for host %s: errno %d", host, errno);   

        return -1;   

    }   

    memcpy((char*) &intaddr, (char *) hp->h_addr_list[0], (size_t) hp->h_length);   

    ipaddr = inet_ntoa(intaddr);   

#else   //MHB 2013-10-22 换种方式获取ip地址 (ipv4)   

    int sockfd;    

    struct sockaddr_in sin;    

    struct ifreq ifr;          

    sockfd = socket(AF_INET, SOCK_DGRAM, 0);       

    if (sockfd == -1)   {              

        return -1;             

    }          

    strncpy(ifr.ifr_name, "eth0", IFNAMSIZ);    //网卡多的得修改下   

    ifr.ifr_name[IFNAMSIZ - 1] = 0;        

    if (ioctl(sockfd, SIOCGIFADDR, &ifr) < 0)    {              

        return -1;     

    }      

    memcpy(&sin, &ifr.ifr_addr, sizeof(sin));      

    ipaddr=inet_ntoa(sin.sin_addr);    

#endif   

    websSetIpAddr(ipaddr);   

    websSetHost(ipaddr); 

问题2:

goahead: 0: Can't open config file route.txt

goahead: 0: Can't initialize server. Exiting.

解决方法:

拷贝goahead-3.1.1-0\src\route.txt文件到goahead同目录下

问题3:

网页存放位置

/web目录,启动是
可以指定。

goahead 移植的更多相关文章

  1. 嵌入式web server——Goahead移植要点

    前言 在嵌入式设备中,在没有液晶显示的情况下,可以使用web来访问设备,查看设备的运行状态以及进行参数设置,类似于路由器设置.网上有很多关于各种web server的优劣的评论,在此不讨论,只是介绍其 ...

  2. 嵌入式web server——Goahead启用SSL

    前言 之前已经介绍过如何把goahead移植到linux平台,现在再介绍goahead应用SSL的一些关键要点.因为此博文是继承于上一篇关于移植的博文,有不明白的请先回看.移植篇点这里. 移植环境 g ...

  3. 一个linuxk开发板的开发笔记

    arm-fsl-linux-gnueabi开发笔记 //开发主机系统信息 $ lsb_release -a No LSB modules are available. Distributor ID:U ...

  4. Linux开源模块迁移概述暨交叉编译跨平台移植总结--从《嵌入式Linux驱动模板简洁和工程实践》

    本文摘录<嵌入式Linux驱动模板简洁和工程实践>一本书"开发和调试技术". Linux强大的是,有那么多的开源项目可以使用.通常非常需要可以通过寻找相关的源模块被定义 ...

  5. GoAhead4.1.0 开发总结一(移植)

    环境 官方文档:https://www.embedthis.com/goahead/doc/ 源码下载: goahead-4.1.0-src.tgz 系统平台:Ubuntu 12.04.4 gcc v ...

  6. MVVM框架从WPF移植到UWP遇到的问题和解决方法

    MVVM框架从WPF移植到UWP遇到的问题和解决方法 0x00 起因 这几天开始学习UWP了,之前有WPF经验,所以总体感觉还可以,看了一些基础概念和主题,写了几个测试程序,突然想起来了前一段时间在W ...

  7. IIC驱动移植在linux3.14.78上的实现和在linux2.6.29上实现对比(deep dive)

    首先说明下为什么写这篇文章,网上有许多博客也是介绍I2C驱动在linux上移植的实现,但是笔者认为他们相当一部分没有分清所写的驱动时的驱动模型,是基于device tree, 还是基于传统的Platf ...

  8. Linux主机上使用交叉编译移植u-boot到树莓派

    0环境 Linux主机OS:Ubuntu14.04 64位,运行在wmware workstation 10虚拟机 树莓派版本:raspberry pi 2 B型. 树莓派OS: Debian Jes ...

  9. STM32F429 LCD程序移植

    STM32F429自带LCD驱动器,这一具有功能给我等纠结于屏幕驱动的程序员带来了很大的福音.有经验的读者一定有过这样的经历,用FSMC驱动带由控制器的屏幕时候,一旦驱动芯片更换,则需要重新针对此驱动 ...

随机推荐

  1. 5.6.3 String类型

    String类型是字符串的对象包装类型,可以像下面这样使用String构造函数来创建. var stringObject = new String("hello world"); ...

  2. bzoj 1057: [ZJOI2007]棋盘制作 单调栈

    题目链接 1057: [ZJOI2007]棋盘制作 Time Limit: 20 Sec  Memory Limit: 162 MBSubmit: 2027  Solved: 1019[Submit] ...

  3. iter, yield与enumerate的实现

    模拟实现一个enumerate函数 def myEnumerate(seq, start=0): results = [] n = start for i in seq: results.append ...

  4. python自学笔记(三)python基本数据类型之列表list

    列表list特性概括 1.有序集合 2.通过偏移来索引,从而读取数据 3.支持嵌套 4.可变的类型(dict 字典也是可变的) (1)切片 a = [1,2,3,4,5,6,7] 正向索引 a[0:4 ...

  5. fiddler---使用方法1--抓取手机app包

    1.首先fiddler设置

  6. socket 通信 入门3 android 客户端 C# 服务端

    这是一个android端操控服务器的例子  就是发送简单指令到服务器  然后服务器响应什么的... 当然这里是未完成的  只是简单展示一下大致思路 首先连接建立起来后  服务端给客户端一条信息  告诉 ...

  7. hdu 4119 Isabella's Message

    Isabella's Message Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) ...

  8. BZOJ 1088 扫雷Mine (递推)

    题解:如果确定了第一排前两个数,那么剩下的数是唯一确定的,所以只要分情况讨论即可. #include <cstdio> #include <cstring> int n,a[1 ...

  9. 【LeetCode】Path Sum 2 --java 二叉数 深度遍历,保存路径

    在Path SUm 1中(http://www.cnblogs.com/hitkb/p/4242822.html) 我们采用栈的形式保存路径,每当找到符合的叶子节点,就将栈内元素输出.注意存在多条路径 ...

  10. Objective-C浅拷贝和深拷贝

    浅拷贝就是对内存地址的复制,让目标对象指针和源对象指向同一片内存空间 如: char* str = (char*)malloc(100);char* str2 = str; 浅拷贝只是对对象的简单拷贝 ...