0

私が書いたacコードをコンパイルすると、次のエラーが発生しました。問題がヘッダー ファイルにあることを理解しています。これらの関数を定義するために必要なすべてのヘッダー ファイルを教えてください。

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 よろしくお願いします。

4

2 に答える 2

1

あなたはそれを間違って理解しています。未知の関数プロトタイプについて文句を言うのではなく、リンク中に文句を言います。そのため、ライブラリまたはオブジェクト ファイルとのリンクを忘れている可能性があります。

于 2012-06-21T09:25:28.153 に答える
0

この gcc sslprogname.c -o sslprogname -Wl,-Bstatic -lssl -Wl,-Bdynamic -lssl3 -lcrypto を試してみてください。

于 2014-05-20T04:39:51.987 に答える