C++ 使用openssl库的编译问题

C++ 使用openssl库的编译问题,c++,openssl,C++,Openssl,我在Fedora14机器上编译“gloox”库时收到此错误消息 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_nam

我在Fedora14机器上编译“gloox”库时收到此错误消息

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机器上可用


请帮助我解决此问题。

gloox中的此代码需要支持椭圆曲线加密(ECC)的OpenSSL版本。由于知识产权问题,Fedora/Redhat提供了一个未经ECC支持编译的OpenSSL版本。Gloox应将ECC相关代码包装在

#ifndef OPENSSL_NO_EC
// ECC related OpenSSL calls
#endif
使用OpenSSL的预处理器定义或使用autoconf检测OpenSSL中的ECC支持,并使用autoconfigured条件来支持禁用ECC的OpenSSL


或者,您也可以在启用ECC的情况下构建自己的OpenSSL,并根据此情况构建gloox。

gloox中的此代码需要一个支持椭圆曲线加密(ECC)的OpenSSL版本。由于知识产权问题,Fedora/Redhat提供了一个未经ECC支持编译的OpenSSL版本。Gloox应将ECC相关代码包装在

#ifndef OPENSSL_NO_EC
// ECC related OpenSSL calls
#endif
使用OpenSSL的预处理器定义或使用autoconf检测OpenSSL中的ECC支持,并使用autoconfigured条件来支持禁用ECC的OpenSSL


或者,您可以在启用ECC的情况下构建自己的OpenSSL,并根据此构建gloox。

您可以将tlsopensslserver.cpp的代码从第240行发布到第260行吗?@ArunSaha gloox是开源库:嗯。。。所以你想让贡献者从互联网上找到该文件,并猜测此处引用的版本?@ArunSaha gloox是开源库:默认代码:返回0;中断;}}RSA*tmp\u RSA\u回调(SSL*/*s*/,int is\u export,int keydlength){返回RSA\u generate\u key(keydlength,RSA\u F4,0,0)}bool opensslsserver::privateInit(){SSL\u CTX\u set\u tmp\u RSA\u回调(m\CTX,tmp\u RSA\u回调);SSL\u CTX\u set\u dh dh\u回调(m\u CTX,tmp\u-dh回调);SSL\ctu-ctu-set\u-dh(NID_sect163r2));SSL_CTX_set_选项(m_CTX、SSL_OP_CIPHER_服务器首选项);返回true;}你能把tlsopensslserver.cpp的代码从第240行发布到第260行吗?@ArunSaha gloox是开源库:嗯……那么你想让贡献者从互联网上找到该文件并猜测这里引用的版本吗?@ArunSaha gloox是开源库:默认代码:返回0;break;}RSA*tmp\u RSA\u回调(SSL*/*s*/,int is\u export,int keydlength){返回RSA\u generate\u key(keydlength,RSA\u F4,0,0)}bool OpenSSLServer::privateInit(){SSL\u CTX\u set\u tmp\u RSA\u回调(m\CTX,tmp\u RSA\u回调);SSL\u CTX\u set\u dh回调(m\u CTX,tmp\dh回调);SSL\CTX\u(m_ctx,EC_KEY_new_by_curve_name(NID_sect163r2));SSL_ctx_set_选项(m_ctx,SSL_OP_CIPHER_SERVER_首选项);返回true;}