我有一个使用SSL函数的C文件dtls_udp_echo.c
。我尝试使用SWIG为这个文件创建一个Python包装器。我已经完成了以下步骤:
1)创建了一个接口文件udp.i
:
%module udp
%{
/* Put header files here or function declarations like below */
#define SWIG_FILE_WITH_INIT
#include "dtls_udp_echo.h"
%}
int THREAD_setup();
int THREAD_cleanup();
int handle_socket_error();
int generate_cookie(SSL *ssl, unsigned char *cookie, unsigned int *cookie_len);
int verify_cookie(SSL *ssl, unsigned char *cookie, unsigned int cookie_len);
int dtls_verify_callback (int ok, X509_STORE_CTX *ctx) ;
void* connection_handle(void *info);
void start_server(int port, char *local_address);
void start_client(char *remote_address, char *local_address, int port, int length, int messagenumber);
2)运行命令swig -python udp.i
。在
3)运行命令gcc -O2 -fPIC -c dtls_udp_echo.c -I/usr/local/ssl/include -L/usr/local/ssl/lib -lcrypto -lssl
。包含和库的路径是正确的,我检查过了!在
4)运行命令gcc -O2 -fPIC -c udp_wrap.c -I/usr/include/python2.5 -I/usr/local/ssl/include -L/usr/local/ssl/lib -lcrypto -lssl
。在
5)运行命令gcc -shared dtls_udp_echo.o udp_wrap.o -o _udp.so
。在
由于没有报告错误,所以似乎完成了。但是,当我尝试导入模块时,我得到了以下回溯:
^{pr2}$有谁能帮我解决这个问题吗?在
它找不到OpenSSL库。将其添加到您的ld search路径;有关详细信息,请参阅
ldconfig(8)
手册页。在相关问题 更多 >
编程相关推荐