1

cでwinsockを使用して正常に動作するプログラムがあります。プログラムにsslを追加しようとしましたが、次のようなエラーが発生しています

C:\Program Files\GnuWin32\lib\libcrypto.a(bss_sock.o):bss_sock.c|| undefined reference to `shutdown@8'|
C:\Program Files\GnuWin32\lib\libcrypto.a(bss_sock.o):bss_sock.c|| undefined reference to `shutdown@8'|
C:\Program Files\GnuWin32\lib\libcrypto.a(bss_sock.o):bss_sock.c|| undefined reference to `WSASetLastError@4'|
C:\Program Files\GnuWin32\lib\libcrypto.a(bss_sock.o):bss_sock.c|| undefined reference to `recv@16'|
C:\Program Files\GnuWin32\lib\libcrypto.a(bss_sock.o):bss_sock.c|| undefined reference to `WSASetLastError@4'|

あたかも libcrypto が wi​​nsock 関数を見つけられないかのように。winsock2 はリンクされており、プログラムは暗号ライブラリなしで正常にコンパイルされます。

私は code::blocks を使用しており、次のものがあります。

-lws2_32
-lssl
-lcrypto

#include <winsock2.h>
#include <ws2tcpip.h>

#include <stdio.h>
#include <openssl/ssl.h>
#include <openssl/crypto.h>
#include <openssl/x509.h>
#include <openssl/pem.h>
#include <openssl/err.h>

これらのリンク エラーが発生する理由がわかりません。助けてください。

4

0 に答える 0