我是使用wolfSSL的新手。我正在尝试使用 gcc 编译一组代码。gcc -o main main.c -lwolfssl
我在输入语句时遇到main.c:(.text+0x47b): undefined reference to 'wolfSSL_get_peer_certificate'
collect2: error: ld returned 1 exit status
错误。
代码片段显示了错误位置:
fprintf(stderr, "ERROR: failed to connect to wolfSSLn");
return -1;
}
ret = certverify(CERT_FILE,verifyCert);
WOLFSSL_X509* webCert = wolfSSL_get_peer_certificate(ssl);
我尝试修改WOLFSSL_X509* webCert = wolfSSL_get_peer_certificate(ssl);
命令,但它似乎是正确的。
我不太确定为什么会发生此错误。有人可以帮我吗?
我正在使用Kali Linux 2019.4来编译这组代码。
@wolfSSL_new,
听起来应用程序无法链接库,因此,虽然正确的标头已到位以定位函数定义,但链接函数的最后一步是失败的。libwolfssl.so 或 libwolfssl.a 在您的系统上位于何处?它是在/usr/local/lib/libwolfssl.so 还是/usr/local/lib/libwolfssl.a 中?
(.a 是静态库,.so 是共享对象库,可以是 OR(
一旦你找到它的位置,请尝试这个构建命令(为了一个例子,我将假设它在/usr/local/lib 中(:
gcc main.c -o main -I/usr/local/include -L/usr/local/lib -lwolfssl
让我知道这是否解决了您看到的链接器错误。
[更新]
此问题已通过添加配置设置 --enable-opensslextra 解决
[完结更新]
问候
K