OSX 编译chillispot-1.1.0

OSX 编译chillispot-1.1.0

转载请注明

本文为原创

chillispot-1.1.0-osx.tar.gz是我改后的

chillispot-1.1.0.tar.gz 是网站源码

 

最近发现OSX的gcc有很函数被阉掉了

比如 clearenv

 

最近有wifi项目

需要这个chillispot

 

本想编译一个在机器上查看功能

 

编译它,费了很大周折

 

以下是OSX环境,只为给大家学习,linux 编译很简单

 

1.移植 

      binutils-2.19.1.tar.bz2

      gcc-4.3.3.tar.bz2

      gmp-5.0.0.tar.bz2

      mpfr-2.4.0.tar.bz2

 

  sudo mkdir /usr/local/gcc-4.3.3

  sudo chmod 777 /usr/local/gcc-4.3.3

 

  tar xjvf binutils-2.19.1.tar.bz2 

  mkdir binbuild

  cd    binbuild

  ../binutils-2.19.1/configure --prefix=/usr/local/gcc-4.3.3/ \

                               --enable-shared --disable-werror \

                               --disable-nls \

                               --enable-gnu-as --enable-gnu-ld 

  make 

  make install

  cd ..

  tar xjvf gcc-4.3.3.tar.bz2

  tar xjvf gmp-5.0.0.tar.bz2

  tar xjvf mpfr-2.4.0.tar.bz2

  mv  gmp-5.0.0    gcc-4.3.3/gmp

  mv  mpfr-2.4.0   gcc-4.3.3/mpfr

  mkdir gccbuild

  cd    gccbuild

  ../gcc-4.3.3/configure --prefix=/usr/local/gcc-4.3.3/  \

                         --enable-shared --enable-colcale=gnu \

                         --enable-__cxa_atexit --disable-checking \

                         --enable--long-long --enable-languages=c,c++

  make bootstrap

  make install

 

2.

  export PATH=/usr/local/gcc-4.3.3/bin:$PATH

 

  gcc --version

 

  tar xzvf chillispot-1.1.0.tar.gz

 

  cd chillispot-1.1.0

  vi src/tun.h

 

  在上面加入 

 

#define PACKET_MAX      8196 /* Maximum packet size we receive */

#define TUN_SCRIPTSIZE   256

#define TUN_ADDRSIZE     128

#define TUN_NLBUFSIZE   1024

 

 

+  #if defined (__FreeBSD__) || defined (__OpenBSD__) || defined (__NetBSD__) || defined (__APPLE__)

+  #define  clearenv()     0 

+  #define res_9_init     res_init

+  #endif

 

 

struct tun_packet_t {

  unsigned int ver:4;

  unsigned int ihl:4;

  unsigned int dscp:6;

  unsigned int ecn:2;

 

 vi src/tun.c

 

 把里面所有

 

 #elif defined (__FreeBSD__)  defined (__OpenBSD__) || defined (__NetBSD__) || defined (__APPLE__)

 #elif defined (__FreeBSD__) || defined (__OpenBSD__) || defined (__NetBSD__) || defined (__APPLE__)

 

 如果不加 这是语法错误

 不知道 是不是写的人故意的

 

 make

 

 编译ok

 

 发现xcode 本身的gcc有些会被OSX定义得不兼容一些开源

 

 要自行研究

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值