如何在Android/Linux上构建OpenSSL?[英] How to build OpenSSL on Android/Linux ?

本文是小编为大家收集整理的关于如何在Android/Linux上构建OpenSSL?的处理/解决方法,可以参考本文帮助大家快速定位并解决问题,中文翻译不准确的可切换到English标签页查看源文。

问题描述

嗨 我需要为Android NDK R5B构建OpenSSL lib,今天将是我……Useles战斗的第二天.这是我所做的简短列表

  1. 下载: https://github.com/fries/fries/android-extern-ternal-ternal-ternal-ternal-ternern-openssl/
  2. 正如我在stackoverflow上发现的那样,固定的.s <->.
  3. 加密货币构建...直到我收到此消息:

/预制/Windows/bin/arm-linux-androideabi- 共享Library:libcrypto.so Arm-Linux-androideabi-g ++.EXE:createProcess:没有这样的文件或目录 制作:* [/cygdrive/c/androiddev/androidopenssl/obj/local/armeabi/libcrypto.so] 错误1*

这是我上次使用的10年,我确定G ++路径的问题.在工具链上添加了一些调试,并得到了:

toolchain_name:Arm-linux-androideabi-4.4.3 toolchain_prefix:/cygdrive/c/android_ndk/toolchains/arm-linux-androideabi-4.4.4.3/prebuilt/windows/bin/bin/arm-linux-androideabi-

对我来说看起来都不错,因为/cygdrive/c/android_ndk/toolchains/arm-linux-androideabi-4.4.4.3/prebuilt/windows/bin/确实存在,而Arm-linux-and-and-and-and-and androideabi-g ++.那里:(

有人遇到过同样的问题吗?我真的不知道在哪里看未来:( 将对帮助表示赞赏

推荐答案

一种解决方案也是要缩短OpenSSL构建路径,例如.从c:\ code \ openssl-android到C:\ ssl

其他推荐答案

看起来只有我有这样的问题.这是我发现的解决方案,Mayby有人会弄清楚为什么会发生这种情况. 保存的命令行到单独的文件,称为 bild_data (从ndk-build输出),然后从其g ++调用中删除,这样我的构建文件只有文件和所需标志列表.然后我刚刚从Cygwin ARM-Linux-androideabi-g ++ @build_data 之后,我有了我的"珍贵" libcrypto.so, ndk-build 再次使用libcrypto.So Alerdy构建,从命令行构建,建立了OpenSSL库. 对我来说,看起来超过31kb的命令行不适合Cygwin Buffer:(

其他推荐答案

我在Windows(Cygwin)上构建了相同的问题,并缩短了通往项目目录的路径(请参阅芒果答案).

本文地址:https://www.itbaoku.cn/post/102424.html

问题描述

Hi I'm in need to build OpenSSL lib for Android NDK r5b, today it will be second day of my ... useles fight. Here is short list what i've done

  1. Downloaded: https://github.com/fries/android-external-openssl/
  2. As i found here on StackOverflow fixed .S <->.s problem
  3. Crypto gets builded... until i get this message:

/prebuilt/windows/bin/arm-linux-androideabi- SharedLibrary : libcrypto.so arm-linux-androideabi-g++.exe: CreateProcess: No such file or directory make: * [/cygdrive/c/AndroidDev/AndroidOpenSSL/obj/local/armeabi/libcrypto.so] Error 1*

It's 10 years when i last time used make, and i was sure it's problem with g++ path. Added some debug to toolchain, and got:

TOOLCHAIN_NAME: arm-linux-androideabi-4.4.3 TOOLCHAIN_PREFIX: /cygdrive/c/Android_NDK/toolchains/arm-linux-androideabi-4.4.3/prebuilt/windows/bin/arm-linux-androideabi-

both looks fine for me, as /cygdrive/c/Android_NDK/toolchains/arm-linux-androideabi-4.4.3/prebuilt/windows/bin/ does exist, and arm-linux-androideabi-g++.exe is right there :(

Any one ever had this same problem? I realy have no idea where to look any future :( Will be appreciative for help

推荐答案

One solution is also to shorten the openssl build path, eg. from c:\code\openssl-android to just c:\ssl

其他推荐答案

Looks like only i had such problem. Here is a solution i found, mayby someone will figure out why this happend. Saved command line to separate file called bild_data (output from ndk-build), then removed from it g++ call, this way my build file had only list of files and needed flags. Then i just executed from cygwin arm-linux-androideabi-g++ @build_data After that i had my 'precious' libcrypto.so, ndk-build executed again with libcrypto.so alerdy builded from command line, builded openssl library. For me it looks like command line that was over 31kb did not fit to cygwin buffer :(

其他推荐答案

I had the same problem building on Windows (cygwin), and shortening the path to the project directory (see mango's answer) is what worked for me.