我知道这个问题有点旧了,但是因为我遇到了同样的问题,所以我将在此留待以供将来参考。
我发现的解决方案是使用安装的交叉编译器手动编译OpenSSL,然后将其手动安装到交叉编译库文件夹。
首先,我安装了交叉编译器(我使用Ubuntu 14.04)。我安装了C编译器和C++编译器。我还安装了两个交叉编译器工具链,一个带有硬浮点支持(arm-linux-gnueabihf),另一个则没有(arm-linux-gnueabi)。创建两个目录(如问题中提到的)/usr/arm-linux-gnueabi
和/usr/arm-linux-gnueabihf
,其中应该安装交叉编译的库。
sudo apt-get install {gcc,g++}-arm-linux-gnueabi{,hf}
其次,克隆OpenSSL的Git仓库,并检查出的版本我感兴趣的(1.0.2):
git clone https://github.com/openssl/openssl
git checkout OpenSSL_1_0_2 # or another version
然后,我配置交叉编译环境,并改变了安装目录(前缀),建成之后在INSTALL文件中提供的说明库(与通过强制使用特定的交叉编译工具链):
export CROSS=arm-linux-gnueabi # or arm-linux-gnueabihf
export AR=${CROSS}-ar
export AS=${CROSS}-as
export CC=${CROSS}-gcc
export CXX=${CROSS}-g++
export LD=${CROSS}-ld
./Configure --prefix=/usr/${CROSS} os/compiler:${CC}
make
sudo make install
呦你可以重复这个过程并用两个工具链编译(arm-linux-gnueabi
和arm-linux-gnueabihf
)。
希望这会有所帮助。
您是否找到解决方案?我也碰到了这个问题。我希望你在9个月大的时候找到答案。如果你找到解决方案,然后回答它。 – neckTwi