C 用GnuTLS构建wget?

C 用GnuTLS构建wget?,c,gcc,makefile,wget,C,Gcc,Makefile,Wget,我很难让wget构建。以下是我目前的咒语,为简洁起见进行了删节 host=i686-w64-mingw32 prefix=/usr/i686-w64-mingw32/sys-root/mingw # Install gmp ./configure --host=$host --prefix=$prefix make install # Install nettle ./configure --host=$host --prefix=$prefix make install AR=$host-

我很难让wget构建。以下是我目前的咒语,为简洁起见进行了删节

host=i686-w64-mingw32
prefix=/usr/i686-w64-mingw32/sys-root/mingw

# Install gmp
./configure --host=$host --prefix=$prefix
make install

# Install nettle
./configure --host=$host --prefix=$prefix
make install AR=$host-ar

# Install GnuTLS
./configure --host=$host --prefix=$prefix --disable-shared
make install

# Install Wget
./configure --host=$host --prefix=$prefix --disable-ipv6
make install
错误发生在使用wget进行的最终make安装上

由于base64_encode定义了多次,因此发生了多定义错误

// wget-1.13.4/src/utils.c
int
base64_encode (const void *data, int length, char *dest)

// gnutls-3.0.19/gl/base64.c
void
base64_encode (const char *restrict in, size_t inlen,
               char *restrict out, size_t outlen)
这个问题是在GnuTLS 3.0.13中引入的。使用3.0.12版为我解决了这个问题


你可能有一些旧的目标代码。请进行清理并删除您看到的所有*.o文件,然后重试。另外,你没有说上面4个编译中的哪一个是失败的,我假设是GnuTLS,这意味着wget与这个问题无关。你试过我的建议了吗?
// wget-1.13.4/src/utils.c
int
base64_encode (const void *data, int length, char *dest)

// gnutls-3.0.19/gl/base64.c
void
base64_encode (const char *restrict in, size_t inlen,
               char *restrict out, size_t outlen)