xyssl-0.8是一个加密算法包,用visual 2010 编译时失败,改用mingw在windows下编译, 提示有网络函数找不到错误
 

  1. $ make  
  2.   CC    aes.c  
  3.   CC    arc4.c  
  4.   CC    base64.c  
  5.   CC    bignum.c  
  6.   CC    certs.c  
  7.   CC    debug.c  
  8.   CC    des.c  
  9.   CC    dhm.c  
  10.   CC    havege.c  
  11.   CC    md2.c  
  12.   CC    md4.c  
  13.   CC    md5.c  
  14.   CC    net.c  
  15.   CC    padlock.c  
  16.   CC    rsa.c  
  17.   CC    sha1.c  
  18.   CC    sha2.c  
  19.   CC    sha4.c  
  20.   CC    ssl_cli.c  
  21.   CC    ssl_srv.c  
  22.   CC    ssl_tls.c  
  23.   CC    timing.c  
  24.   CC    x509parse.c  
  25.   AR    libxyssl.a  
  26. C:\MinGW\bin\ar.exe: creating libxyssl.a  
  27.   CC    aes/aescrypt2.c  
  28.   CC    hash/hello.c  
  29.   CC    hash/md5sum.c  
  30.   CC    hash/sha1sum.c  
  31.   CC    hash/sha2sum.c  
  32.   CC    pkey/dh_client.c  
  33. ../library/libxyssl.a(net.o):net.c:(.text+0x15): undefined reference to `WSAGetLastError@0'  
  34. ../library/libxyssl.a(net.o):net.c:(.text+0x4b): undefined reference to `WSAStartup@8'  
  35. ../library/libxyssl.a(net.o):net.c:(.text+0x70): undefined reference to `gethostbyname@4'  
  36. ../library/libxyssl.a(net.o):net.c:(.text+0x99): undefined reference to `socket@12'  
  37. ../library/libxyssl.a(net.o):net.c:(.text+0xf8): undefined reference to `connect@12'  
  38. ../library/libxyssl.a(net.o):net.c:(.text+0x110): undefined reference to `closesocket@4'  
  39. ../library/libxyssl.a(net.o):net.c:(.text+0x173): undefined reference to `WSAStartup@8'  
  40. ../library/libxyssl.a(net.o):net.c:(.text+0x1a5): undefined reference to `socket@12'  
  41. ../library/libxyssl.a(net.o):net.c:(.text+0x1e8): undefined reference to `setsockopt@20'  
  42. ../library/libxyssl.a(net.o):net.c:(.text+0x2f5): undefined reference to `bind@12'  
  43. ../library/libxyssl.a(net.o):net.c:(.text+0x306): undefined reference to `closesocket@4'  
  44. ../library/libxyssl.a(net.o):net.c:(.text+0x322): undefined reference to `listen@8'  
  45. ../library/libxyssl.a(net.o):net.c:(.text+0x333): undefined reference to `closesocket@4'  
  46. ../library/libxyssl.a(net.o):net.c:(.text+0x3be): undefined reference to `accept@12'  
  47. ../library/libxyssl.a(net.o):net.c:(.text+0x421): undefined reference to `ioctlsocket@12'  
  48. ../library/libxyssl.a(net.o):net.c:(.text+0x44f): undefined reference to `ioctlsocket@12'  
  49. ../library/libxyssl.a(net.o):net.c:(.text+0x495): undefined reference to `select@20'  
  50. ../library/libxyssl.a(net.o):net.c:(.text+0x4c6): undefined reference to `recv@16'  
  51. ../library/libxyssl.a(net.o):net.c:(.text+0x4e3): undefined reference to `WSAGetLastError@0'  
  52. ../library/libxyssl.a(net.o):net.c:(.text+0x532): undefined reference to `send@16'  
  53. ../library/libxyssl.a(net.o):net.c:(.text+0x547): undefined reference to `WSAGetLastError@0'  
  54. ../library/libxyssl.a(net.o):net.c:(.text+0x57d): undefined reference to `shutdown@8'  
  55. ../library/libxyssl.a(net.o):net.c:(.text+0x588): undefined reference to `closesocket@4'  
  56. collect2: ld returned 1 exit status  
  57. make[1]: *** [pkey/dh_client] Error 1  
  58. make: *** [all] Error 2 

修改programs/Makefile, 增加-lwsock32的链接后编译成功

LDFLAGS = -L../library -lxyssl -lwsock32