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。我已经设置了 openssl 文件夹的路径,该文件夹位于 /usr/include 中。当我在线上按 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 回答