我正在尝试在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