【问题标题】:Porting cURL to Android with NDK使用 NDK 将 cURL 移植到 Android
【发布时间】:2012-11-12 14:44:07
【问题描述】:

祝你有美好的一天。我目前正在努力将 cURL 移植到我的 Android 应用程序中 - 许多主题都在讨论这个问题,但没有一个帖子或教程或任何明确说明该做什么或根本不工作的东西。

我拥有所需的每一个工具,拥有最新版本的 cURL (7.28.0)。我尝试使用交叉编译和工具链(效果很好的部分)来做到这一点,但是当我尝试配置 curl-7.28.0 时,./configure --host=arm-linux-androideabi(或任何通过的参数)返回以下错误:

./configure: line 20: $'\r' : unknown command
./configure: line 35: Syntax error near unexpected token « newline »
'/configure: line 35: `     ;;

如果有人已经经历过这些并且确实记得他所遵循的步骤或知道我做错了什么,如果你能帮助我可怜的灵魂,那将是一种祝福! 提前致谢。

注意:我使用的是 Cygwin。

【问题讨论】:

    标签: android curl android-ndk cross-compiling


    【解决方案1】:

    由于您使用的是 Cygwin,我怀疑您已经将所有换行符转换为 windows 格式以使其正常工作:

    似乎configure 只有\r,或者所谓的“回车”,作为换行符。这实际上是 OSX 使用的符号。大多数 *nixes 只使用一个换行符来工作 (\n)。只有 Windows 需要两者:“回车”和换行符:例如\r\n.

    您可以使用任何专业的文本编辑器来更改此设置,例如notepad++

    【讨论】:

    • 好的,解决了这个问题,非常感谢。我离最初的目标还很远,会继续发布!
    【解决方案2】:

    看起来像configure 正在读取的任何文件中的换行问题。在 Windows 上,文本文件中的行以 CR/LF (\r\n) 终止 - 许多 Unixy 工具会因此而窒息。

    Visual Studio 和其他工具可以重新编码行终止。打开一个文件,File\Advanced Save Options,选择Unix line format,然后保存。

    在 *nix 上有一个名为 dos2unix 的工具可以做同样的事情。

    【讨论】:

    • 问题是该文件有 2000+ 行长,所以我不知道哪个文件可能有这个问题。另外,在配置文件中,对这个可能的问题采取了额外的措施 - 它没有我修改过的任何文件,所有内容都是下载包的一部分。
    猜你喜欢
    • 1970-01-01
    • 2013-06-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-11
    • 2012-08-15
    • 2011-08-30
    • 1970-01-01
    相关资源
    最近更新 更多