From: Wu Y. <ad...@ne...> - 2005-02-05 06:11:00
|
When do the .lib files come from? I suppose you should try removing them all and replace "x.lib" with "-lx" at the end. MinGW does not ship with a libwpcap.a, but the download page has a Cygwin-compatible libwpcap.a that is compatible with MinGW. I have used it personally. But this seems not quite relevant. I doubt that something in "ws2_32.lib" (MinGW has not such a thing) had some bad effects. Best regards, Yongwei "Hughes, John" <Joh...@at...> To: <min...@li...> CC: Subject: RE: [Mingw-users] undefined reference to `WSASocketA@24' I still get the same error. I have: $(DLLWRAP) -o $(DLL_NAME) -v \ $(DLL_OBJS) --def (DLL_DEF) $(DLL_LDLIBS) $(DLL_WINLIBS) --lws2_32 The output with verbose is: dllwrap -o jpcap.dll -v \ Jpcap.o Jpcap_ipaddr.o JpcapSender.o JpcapWriter.o packet_arp.o packet_datalink.o packet_icmp.o packet_ip.o packet_ipv6.o packet_tcp.o packet_udp.o --def (DLL_DEF) D:\eclipse\workspace\Jpcap_dll\wpdpack\lib\wpcap.lib D:\eclipse\workspace\Jpcap_dll\lib\kernel32.lib D:\eclipse\workspace\Jpcap_dll\lib\ws2_32.lib --lws2_32 Reading specs from c:/minGW/bin/../lib/gcc/mingw32/3.4.2/specs Configured with: ../gcc/configure --with-gcc --with-gnu-ld --with-gnu-as --host=mingw32 --target=mingw32 --prefix=/mingw --enable-threads --disable-nls --enable-languages=c,c++,f77,ada,objc,java --disable-win32-registry --disable-shared --enable-sjlj-exceptions --enable-libgcj --disable-java-awt --without-x --enable-java-gc=boehm --disable-libgcj-debug --enable-interpreter --enable-hash-synchronization --enable-libstdcxx-debug Thread model: win32 gcc version 3.4.2 (mingw-special) c:/minGW/bin/../libexec/gcc/mingw32/3.4.2/collect2.exe --dll -Bdynamic -e _DllMainCRTStartup@12 -o jpcap.dll c:/minGW/bin/../lib/gcc/mingw32/3.4.2/../../../dllcrt2.o c:/minGW/bin/../lib/gcc/mingw32/3.4.2/crtbegin.o -Lc:/minGW/bin/../lib/gcc/mingw32/3.4.2 -Lc:/minGW/bin/../lib/gcc -Lc:/minGW/bin/../lib/gcc/mingw32/3.4.2/../../../../mingw32/lib -Lc:/minGW/bin/../lib/gcc/mingw32/3.4.2/../../.. --base-file c:\temp/cca02820.base -e _DllMainCRTStartup@12 --image-base 0x6D3C0000 Jpcap.o Jpcap_ipaddr.o JpcapSender.o JpcapWriter.o packet_arp.o packet_datalink.o packet_icmp.o packet_ip.o packet_ipv6.o packet_tcp.o packet_udp.o D:\eclipse\workspace\Jpcap_dll\wpdpack\lib\wpcap.lib D:\eclipse\workspace\Jpcap_dll\lib\kernel32.lib D:\eclipse\workspace\Jpcap_dll\lib\ws2_32.lib -lmingw32 -lgcc -lmoldname -lmingwex -lmsvcrt -luser32 -lkernel32 -ladvapi32 -lshell32 -lmingw32 -lgcc -lmoldname -lmingwex -lmsvcrt c:/minGW/bin/../lib/gcc/mingw32/3.4.2/crtend.o JpcapSender.o(.text+0x129): In function `Java_jpcap_JpcapSender_openRawSocket': D:/eclipse/workspace/Jpcap_dll/JpcapSender.c:90: undefined reference to `WSASocketA@24' collect2: ld returned 1 exit status DLLTOOL name : dlltool DLLTOOL options : -v --dllname jpcap.dll --exclude-symbol=DllMainCRTStartup@12 --def (DLL_DEF) DRIVER name : gcc DRIVER options : -mdll -o jpcap.dll -Wl,-e,_DllMainCRTStartup@12 -Wl,--image-base,0x6D3C0000 -v Jpcap.o Jpcap_ipaddr.o JpcapSender.o JpcapWriter.o packet_arp.o packet_datalink.o packet_icmp.o packet_ip.o packet_ipv6.o packet_tcp.o packet_udp.o D:\eclipse\workspace\Jpcap_dll\wpdpack\lib\wpcap.lib D:\eclipse\workspace\Jpcap_dll\lib\kernel32.lib D:\eclipse\workspace\Jpcap_dll\lib\ws2_32.lib --lws2_32 gcc -Wl,--base-file,c:\temp/cca02820.base -mdll -o jpcap.dll -Wl,-e,_DllMainCRTStartup@12 -Wl,--image-base,0x6D3C0000 -v Jpcap.o Jpcap_ipaddr.o JpcapSender.o JpcapWriter.o packet_arp.o packet_datalink.o packet_icmp.o packet_ip.o packet_ipv6.o packet_tcp.o packet_udp.o D:\eclipse\workspace\Jpcap_dll\wpdpack\lib\wpcap.lib D:\eclipse\workspace\Jpcap_dll\lib\kernel32.lib D:\eclipse\workspace\Jpcap_dll\lib\ws2_32.lib --lws2_32 dllwrap: gcc exited with status 1 dllwrap: Deleting temporary base file c:\temp/cca02820.base mingw32-make: *** [jpcap.dll] Error 1 > -----Original Message----- > From: Wu Yongwei [mailto:ad...@ne...] > Sent: 04 February 2005 10:40 > To: min...@li... > Subject: Re: [Mingw-users] undefined reference to `WSASocketA@24' > > Try putting "-lws2_32" at the *end* of your command line. |