`
qvb3d
  • 浏览: 171342 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

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定义得不兼容一些开源

 

 要自行研究

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics