UDPspeeder icon indicating copy to clipboard operation
UDPspeeder copied to clipboard

编译mingw版本的一点改动

Open supernatural opened this issue 7 years ago • 2 comments

Ubuntu 18.10, g++-mingw-w64

修改了3个地方后可以编译,common.h像是个笔误,fec.cpp不确定32位系统上这么改是不是正确的,makefile里指定使用x86_64-w64-mingw32-g++-posix,不能用x86_64-w64-mingw32-g++-win32,否则链接时会报告clock_gettime未定义。

diff --git a/common.h b/common.h index 02f3b6e..7eeaee5 100644 --- a/common.h +++ b/common.h @@ -36,7 +36,7 @@

#if defined(MINGW32) #include <winsock2.h> -#include <Ws2tcpip.h > +#include <ws2tcpip.h> typedef int socklen_t; #else #include <sys/socket.h> diff --git a/lib/fec.cpp b/lib/fec.cpp index 982a7f1..e34fc36 100644 --- a/lib/fec.cpp +++ b/lib/fec.cpp @@ -650,7 +650,7 @@ fec_free(void *p0) { struct fec_parms *p= (struct fec_parms *) p0; if (p==NULL ||

  •   p->magic != ( ( (FEC_MAGIC ^ p->k) ^ p->n) ^ (int)((long)p->enc_matrix)) ) {
    
  •   p->magic != ( ( (FEC_MAGIC ^ p->k) ^ p->n) ^ (int)((long long)p->enc_matrix)) ) {
      fprintf(stderr, "bad parameters to fec_free\n");
      return ;
    
    } @@ -682,7 +682,7 @@ fec_new(int k, int n) retval->k = k ; retval->n = n ; retval->enc_matrix = NEW_GF_MATRIX(n, k);
  • retval->magic = ( ( FEC_MAGIC ^ k) ^ n) ^ (int)((long)retval->enc_matrix) ;
  • retval->magic = ( ( FEC_MAGIC ^ k) ^ n) ^ (int)((long long)retval->enc_matrix) ; tmp_m = NEW_GF_MATRIX(n, k); /*
    • fill the matrix with powers of field elements, starting from 0. diff --git a/makefile b/makefile index 7d1f50d..6b0c282 100755 --- a/makefile +++ b/makefile @@ -1,5 +1,5 @@ cc_cross=/home/wangyu/Desktop/arm-2014.05/bin/arm-none-linux-gnueabi-g++ -cc_local=g++ +cc_local=x86_64-w64-mingw32-g++-posix #cc_mips34kc=/toolchains/OpenWrt-SDK-ar71xx-for-linux-x86_64-gcc-4.8-linaro_uClibc-0.9.33.2/staging_dir/toolchain-mips_34kc_gcc-4.8-linaro_uClibc-0.9.33.2/bin/mips-openwrt-linux-g++ cc_mips24kc_be=/toolchains/lede-sdk-17.01.2-ar71xx-generic_gcc-5.4.0_musl-1.1.16.Linux-x86_64/staging_dir/toolchain-mips_24kc_gcc-5.4.0_musl-1.1.16/bin/mips-openwrt-linux-musl-g++ cc_mips24kc_le=/toolchains/lede-sdk-17.01.2-ramips-mt7621_gcc-5.4.0_musl-1.1.16.Linux-x86_64/staging_dir/toolchain-mipsel_24kc_gcc-5.4.0_musl-1.1.16/bin/mipsel-openwrt-linux-musl-g++

supernatural avatar Jan 30 '19 05:01 supernatural

再补充一点:mingw编译出的文件名需要加上后缀 .exe,否则不能运行的...刚就晕了..

supernatural avatar Jan 30 '19 06:01 supernatural

编译好的文件能共享下吗?

HanJack avatar Aug 26 '19 09:08 HanJack