使用openssl库的编译问题

Compilation issue using openssl library

本文关键字:编译 问题 openssl 使用      更新时间:2023-10-16

当我试图在Fedora14机器上编译"glox"库时,收到了这个错误消息。

tlsopensslserver.cpp:248:8: warning: unused parameter âis_exportâ
tlsopensslserver.cpp: In member function âvirtual bool gloox::OpenSSLServer::privateInit()â:
tlsopensslserver.cpp:257:5: error: âEC_KEY_new_by_curve_nameâ was not declared in this scope
make[3]: *** [tlsopensslserver.lo] Error 1
make[3]: Leaving directory `/root/Documents/RMSAgent/gloox-1.0/src'

在Ubuntu机器上成功编译了相同的代码。

openssl-devel包在Fedora机器上可用。

请帮我解决这个问题。

glox中的此代码需要支持椭圆曲线加密(ECC)的OpenSSL版本。由于知识产权问题,Fedora/Redhat发布了一个在没有ECC支持的情况下编译的OpenSSL版本。Gloox应在中包装ECC相关代码

#ifndef OPENSSL_NO_EC
// ECC related OpenSSL calls
#endif

使用OpenSSL的预处理器定义,或使用autoconf检测OpenSSL中的ECC支持,并使用自动配置的条件支持禁用ECC的OpenSSL。

或者,您可以在启用ECC的情况下构建自己的OpenSSL,并针对此构建glox。