编译我编写的C代码时出现以下错误。我明白问题出在头文件中。任何人都可以告诉我哪些头文件需要定义这些函数。头文件故障
sign.c: In function ‘main’:
sign.c:78: warning: assignment makes pointer from integer without a cast
/tmp/ccnsSeHy.o: In function `sign_data_evp':
sign.c:(.text+0x68): undefined reference to `check_ssl_rv'
sign.c:(.text+0xd5): undefined reference to `check_ssl_rv'
sign.c:(.text+0x13e): undefined reference to `check_ssl_rv'
/tmp/ccnsSeHy.o: In function `main':
sign.c:(.text+0x1ca): undefined reference to `initialize'
sign.c:(.text+0x1d6): undefined reference to `select_engine'
sign.c:(.text+0x20a): undefined reference to `sign_data'
sign.c:(.text+0x216): undefined reference to `clean_engine'
sign.c:(.text+0x21b): undefined reference to `clean_up'
collect2: ld returned 1 exit status
,我已经使用至今的头文件:
#include <stdio.h>
#include <string.h>
#include <errno.h>
#include <netdb.h>
#include <unistd.h>
#ifdef __VMS
#include <socket.h>
#include <inet.h>
#include <in.h>
#else
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#endif
#include <openssl/crypto.h>
#include <openssl/ssl.h>
#include <openssl/err.h>
运行平台:Linux的 在此先感谢。
我尝试使用编译它'gcc的-o样本-lssl -lcrypt sample.c' 我应该链接哪个其他库来编译这些函数? – binish
@binish通常'-lssl'丢失,或者库的路径设置不正确。 –
试试'gcc -o sample sample.c -lcrypto -lssl'。库的顺序和来源很重要。后者必须解析之前指定的模块/库的符号。反之亦然。 – mity