编译旧的Poco库版本会返回错误

时间:2018-09-18 12:37:01

标签: c++ compilation raspbian poco-libraries

我正在尝试在Raspbian Stretch Desktop版本上编译Poco库的旧版本;特别是该库的版本为1.5.3

我做了./configure --prefix=./instDir

然后我做了make(按照自述文件的建议,make -s也做了make -j2),然后做了make install

make install上,它将返回此错误

src/CipherImpl.cpp:80:21: error: field ‘_ctx’ has incomplete type ‘EVP_CIPHER_CTX {aka evp_cipher_ctx_st}’
   EVP_CIPHER_CTX    _ctx;
                     ^~~~
In file included from /usr/include/openssl/evp.h:14:0,
                 from include/Poco/Crypto/CipherImpl.h:27,
                 from src/CipherImpl.cpp:17:
/usr/include/openssl/ossl_typ.h:90:16: note: forward declaration of ‘EVP_CIPHER_CTX {aka struct evp_cipher_ctx_st}’
 typedef struct evp_cipher_ctx_st EVP_CIPHER_CTX;
                ^~~~~~~~~~~~~~~~~
make[1]: *** [/home/pi/Desktop/middleware/C++libs/poco-1.5.3-all/Crypto/obj/Linux/armv7l/debug_shared/CipherImpl.o] Error 1
make: *** [Crypto-libexec] Error 2

尽管出现错误,我仍然可以看到一些扩展名为*.so的文件。

我已经阅读了与opensl版本有关的错误,我的情况是OpenSSL 1.1.0f 25 May 2017

如何在没有此错误的情况下编译库?

我在OSX上编译了相同的版本,并且可以使用openssl版本LibreSSL 2.2.7

0 个答案:

没有答案