nagyistoce / mytunet

Automatically exported from code.google.com/p/mytunet
0 stars 0 forks source link

用于Mac OS X的console版的Makefile,以及源代码修改方案。 #8

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
恕我菜……我不知道怎么提交源代码,因此只能在这里发一��
�修改方案。
由于Darwin构架在网络设备管理方面有所不同,它的ifreq结构体
不包含ifr_index成
员,所以源代码要做相应修改才能编译通过,修改如下:
文件:src/ethcard_bpf.c
约在第23行,将原来的:
INT   get_ethcard_iface_byname(int sd, CHAR *name)
{
    int ret;
    struct ifreq req;
    strncpy(req.ifr_name,name,IFNAMSIZ);
    ret=ioctl(sd,SIOCGIFINDEX,&req);
    if (ret==-1) return -1;
    return req.ifr_index;
}
修改为:
INT   get_ethcard_iface_byname(int sd, CHAR *name)
{
    struct ifreq req;
    strncpy(req.ifr_name,name,IFNAMSIZ);
    return if_nametoindex(req.ifr_name);
}
这样就可以了。

Makefile见附件。
需要说明的是,这个Makefile将编译出来Universal 
binary,就是i386和ppc的通用二
进制。
不要尝试添加-arch 
x86_64选项,这样编译出来的Universal包将包含64位x86的程
序,在Leopard中如果发现程序带有64位程序,会优先运行64位(
前提是你的处理器是
Intel 
64位),这样程序将无法正常使用,在tiger理论上不会有这样�
��问题。

Original issue reported on code.google.com by mingocha...@gmail.com on 26 Mar 2009 at 2:42

Attachments:

GoogleCodeExporter commented 9 years ago
我有个同学搞了个iTunet,能够在Mac OS 
X上跑。等他开发好了发出来吧。

Original comment by Henry.Hu...@gmail.com on 4 Apr 2009 at 7:18

GoogleCodeExporter commented 9 years ago
根据你的Makefile改了,现在可能支持Mac OS X了…… 
暂时没办法试……

Original comment by Henry.Hu...@gmail.com on 4 Apr 2009 at 7:48