首页 > 解决方案 > x86_64-w64-mingw32-gcc 在 linux 子系统上交叉编译 usrsctp 会出现没有行号的错误

问题描述

我尝试在这样的 Ubuntu 子系统上交叉编译用于 Windows的usrsctp : x86_64-w64-mingw32-gcc

$ ./bootstrap
$ CC="x86_64-w64-mingw32-gcc" ./configure
$ make

但是make给了我这个:

/bin/bash ../libtool  --tag=CC   --mode=compile x86_64-w64-mingw32-gcc -DPACKAGE_NAME=\"libusrsctp\" -DPACKAGE_TARNAME=\"libusrsctp\" -DPACKAGE_VERSION=\"0.9.5.0\" -DPACKAGE_STRING=\"libusrsctp\ 0.9.5.0\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -DPACKAGE=\"libusrsctp\" -DVERSION=\"0.9.5.0\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DLT_OBJDIR=\".libs/\" -DSCTP_DEBUG=1 -DINET=1 -DINET6=1 -DHAVE_STDATOMIC_H=1 -Dsocklen_t=int -I.    -DSCTP_PROCESS_LEVEL_LOCKS -DSCTP_SIMPLE_ALLOCATOR -D__Userspace__ -g -O2 -std=c99 -pthread -D_GNU_SOURCE -Wno-address-of-packed-member -Werror -gdwarf-3 -pedantic -Wall -O0 -MT libusrsctp_la-user_environment.lo -MD -MP -MF .deps/libusrsctp_la-user_environment.Tpo -c -o libusrsctp_la-user_environment.lo `test -f 'user_environment.c' || echo './'`user_environment.c
libtool: compile:  x86_64-w64-mingw32-gcc -DPACKAGE_NAME=\"libusrsctp\" -DPACKAGE_TARNAME=\"libusrsctp\" -DPACKAGE_VERSION=\"0.9.5.0\" "-DPACKAGE_STRING=\"libusrsctp 0.9.5.0\"" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -DPACKAGE=\"libusrsctp\" -DVERSION=\"0.9.5.0\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DLT_OBJDIR=\".libs/\" -DSCTP_DEBUG=1 -DINET=1 -DINET6=1 -DHAVE_STDATOMIC_H=1 -Dsocklen_t=int -I. -DSCTP_PROCESS_LEVEL_LOCKS -DSCTP_SIMPLE_ALLOCATOR -D__Userspace__ -g -O2 -std=c99 -pthread -D_GNU_SOURCE -Wno-address-of-packed-member -Werror -gdwarf-3 -pedantic -Wall -O0 -MT libusrsctp_la-user_environment.lo -MD -MP -MF .deps/libusrsctp_la-user_environment.Tpo -c user_environment.c  -fPIC -DPIC -o .libs/libusrsctp_la-user_environment.o
<command-line>: error: two or more data types in declaration specifiers
make[1]: *** [Makefile:635: libusrsctp_la-user_environment.lo] Error 1
make[1]: Leaving directory '/mnt/c/git/usrsctp/usrsctplib'
make: *** [Makefile:407: all-recursive] Error 1

不幸的是,没有任何行号可以帮助我找到错误。(我已经检查user_environment.c了缺少;的 s。)

如何获得有关该错误的更多信息?

(顺便说一句,x86_64-w64-mingw32-gcc工作正常。我已经用它编译了 SDL2 等其他库。)

标签: cross-compilinggnu-makemingw-w64subsystem

解决方案


推荐阅读