有人知道如何在Windows 10上链接到https://github.com/miniupnp/miniupnp/tree/master/miniupnpc吗?我用的是Bazel5.0。我正在使用msys2和混合-gcc编译器.我使用-DMINIUPNP_STATICLIB链接静态表单。我通过输入make install来编译它。我也尝试过mingw32make.bat,但是失败带来了不同的错误。链接时会出现以下错误。
c:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: external/miniupnp/miniupnpc/libminiupnpc.a(miniupnpc.o):miniupnpc.c:(.text+0x496): undefined reference to `if_indextoname'
c:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: external/miniupnp/miniupnpc/libminiupnpc.a(connecthostport.o):connecthostport.c:(.text+0x180): undefined reference to `gai_strerror'
c:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: external/miniupnp/miniupnpc/libminiupnpc.a(connecthostport.o):connecthostport.c:(.text+0x188): undefined reference to `__getreent'
c:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: external/miniupnp/miniupnpc/libminiupnpc.a(connecthostport.o):connecthostport.c:(.text+0x1da): undefined reference to `__errno'
c:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: external/miniupnp/miniupnpc/libminiupnpc.a(connecthostport.o):connecthostport.c:(.text+0x1ed): undefined reference to `__errno'
c:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: external/miniupnp/miniupnpc/libminiupnpc.a(connecthostport.o):connecthostport.c:(.text+0x3b4): undefined reference to `__errno'
c:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: external/miniupnp/miniupnpc/libminiupnpc.a(connecthostport.o):connecthostport.c:(.text+0x3c3): undefined reference to `__errno'
c:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: external/miniupnp/miniupnpc/libminiupnpc.a(connecthostport.o):connecthostport.c:(.text+0x3d1): undefined reference to `__errno'
c:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: external/miniupnp/miniupnpc/libminiupnpc.a(minissdpc.o):minissdpc.c:(.text+0xc24): undefined reference to `ioctl'
c:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: external/miniupnp/miniupnpc/libminiupnpc.a(minissdpc.o):minissdpc.c:(.text+0xd00): undefined reference to `gai_strerror'
c:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: external/miniupnp/miniupnpc/libminiupnpc.a(minissdpc.o):minissdpc.c:(.text+0xd08): undefined reference to `__getreent'
c:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: external/miniupnp/miniupnpc/libminiupnpc.a(minissdpc.o):minissdpc.c:(.text+0x14f6): undefined reference to `if_nametoindex'
c:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: external/miniupnp/miniupnpc/libminiupnpc.a(minissdpc.o):minissdpc.c:(.text+0x151d): undefined reference to `__getreent'
c:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: external/miniupnp/miniupnpc/libminiupnpc.a(miniwget.o):miniwget.c:(.text+0x414): undefined reference to `__locale_ctype_ptr'
c:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: external/miniupnp/miniupnpc/libminiupnpc.a(miniwget.o):miniwget.c:(.text+0x84c): undefined reference to `gai_strerror'
c:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: external/miniupnp/miniupnpc/libminiupnpc.a(miniwget.o):miniwget.c:(.text+0x854): undefined reference to `__getreent'
c:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: external/miniupnp/miniupnpc/libminiupnpc.a(miniwget.o):miniwget.c:(.text+0xb51): undefined reference to `if_nametoindex'
c:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: external/miniupnp/miniupnpc/libminiupnpc.a(receivedata.o):receivedata.c:(.text+0x4b): undefined reference to `poll'
c:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: external/miniupnp/miniupnpc/libminiupnpc.a(receivedata.o):receivedata.c:(.text+0x5a): undefined reference to `__errno'发布于 2022-02-23 15:48:58
您需要运行以下命令
cmake .
make
./mingw32make.bat然后,您需要使用libminupnc.dll.a
https://stackoverflow.com/questions/71239770
复制相似问题