【问题标题】:Compile NDK code using gnu libstdc++使用 gnu libstdc++ 编译 NDK 代码
【发布时间】:2012-07-26 05:03:06
【问题描述】:

我想使用 gnu libstdc++ 编译我的 NDK 代码,有什么办法吗?

【问题讨论】:

    标签: android c++ c android-ndk


    【解决方案1】:

    你应该在Application.mk添加一行

    APP_STL := gnustl_static
    

    如果你想静态链接它,并且

    APP_STL := gnustl_shared
    

    如果您想将其用作共享库。

    这里是典型的Application.mk 的例子(它应该放在你的Android.mk 所在的同一个文件夹中):

    APP_OPTIM := release
    APP_PLATFORM := android-7
    APP_STL := gnustl_static
    APP_CPPFLAGS += -frtti 
    APP_CPPFLAGS += -fexceptions
    APP_CPPFLAGS += -DANDROID
    APP_ABI := armeabi-v7a
    

    有关 Application.mk 的更多信息可以在您的 NDK 文档中找到:docs/APPLICATION-MK.html

    【讨论】:

    • @Sergey..在哪里可以找到 freeimage.h 使用的参考库??
    • 什么意思?什么reference libraries?
    • 我应该包含任何 .h 文件或 .c 文件以便 freeimage.a 工作吗?
    • 如果你使用 .a,你应该只包括 freeimage.h
    • 哦,我知道了,需要添加APP_CPPFLAGS += -std=gnu++11。感谢您的帮助!
    【解决方案2】:

    将以下行添加到您的 Application.mk:

    APP_STL := gnustl_static
    

    (或gnustl_shared,如果您不想对其进行静态链接)。

    【讨论】:

    • 并阅读 Android NDK 中的 docs/CPLUSPLUS-SUPPORT.html 文件以获取更多信息。
    • 我现在没有Application.mk...我只有Android.mk..谁能告诉我Application.mk 的格式应该是什么,最好举个例子?提前致谢
    • NDK 安装的 docs 文件夹中应该有一个 APPLICATION-MK.html 文件。
    • @MārtiņšMožeiko..请参阅stackoverflow.com/questions/11666200/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多