windows下编译transmission

    最近玩pt,决定改一点源码实现一些功能。utorrent闭源,那就用老朋友transmission好了。

    babun尝试了半天没成功,最后还是重新用cygwin来编译。

    64位系统,使用32位cygwin,目标32位exe。

    首先是transmission源码:

    https://github.com/cfpp2p/transmission/tree/cygwin

    然后安装cygwin,安装部件参考 debian部分的dependence 。

    bison
    flex
    gettext-devel
    libtool
    make
    gcc g++
    patch
    pkg-config
    wget

    https://github.com/transmission/transmission/wiki/Building-Transmission

    也可以参考cygwin版transmission作者写的比较老点的编译指导。顺便他解释了一下为什么采用2.7版本的transmission而不是更新的。

    https://sourceforge.net/p/transmissiondaemon/discussion/general/thread/acc52fa2/

    编译过程,先运行autogen.sh,然后make -j 4。成品在remote目录的.lib下。


    当然了,这里有三方gui组件和编译成品。没有特殊需求可以直接使用这个。

    https://sourceforge.net/projects/transmissiondaemon/files/?source=navbar


    顺便贴一段代码

    transmission/libtransmission/announcer-http.c

    evbuffer_add_printf( buf, "%s"
                              "%c"
                              "info_hash=%s"
                              "&peer_id=%*.*s"
                              "&port=%d"
                              "&uploaded=%" PRIu64
                              "&downloaded=%" PRIu64
                              "&left=%" PRIu64
                              "&numwant=%d"
                              "&key=%x"
                              "&compact=1"
                              "&supportcrypto=1",
                              req->url,
                              strchr( req->url, '?' ) ? '&' : '?',
                              escaped_info_hash,
                              PEER_ID_LEN, PEER_ID_LEN, req->peer_id,
                              req->port,
                              req->up,
                              req->down,
                              req->left,
                              req->numwant,
                              req->key );



标签: transmission