1

Ubuntu v12.10 32 ビットの Eclipse CDT (v1.2.0.201212170456) で次の C コードをコンパイルしようとしています。

#include <openssl/bio.h>

int main(void)
{
    return 0;
}

私のコンパイラは arm-none-linux-gnueabi-gcc (Sourcery G++ Lite 2010q1-202) 4.4.1 です。/usr/include にある openssl フォルダーへのパスを設定しました。行でF3 を押すと#include、Eclipse CDT が bio.h ファイルを開きます。コードをコンパイルすると、次のような約 500 のエラーが発生します。

expected ';' before 'int' line 301, external location: /usr/include/openssl/bio.h

int (*bwrite)(BIO *, const char *, int);<-- bio.h の 300 行目

int (*bread)(BIO *, char *, int);<-- bio.h の 301 行目

また

expected ';', ',' or ')' before '*' token line 234, external location: /usr/include/openssl/bio.h

void BIO_set_flags(BIO *b, int flags);<-- bio.h の 233 行目

int BIO_test_flags(const BIO *b, int flags);<-- bio.h の 234 行目

libssl と libssl-dev の両方がインストールされています。何が原因なのか本当に困っています。助けてください!

CDT のコンソール出力から:

arm-none-linux-gnueabi-gcc -I/usr/include -O0 -g3 -Wall -c -fmessage-length=0 -v -MMD -MP -MF"main.d" -MT"main.d" - o "main.o" "../main.c"

4

1 に答える 1

0

私自身の質問に答えます。

SBさんの指示に従って問題を解決できました。このSOスレッドで。

OpenSSL に静的にリンクしているので、次のファイルを Eclipse CDT の C プロジェクトにコピーしました。

  • libcrypto.a
  • libssl.a
于 2013-02-28T15:15:35.357 に答える