【问题标题】:How do I link to SDL2 in Android Studio from a native activity based project?如何从基于本机活动的项目链接到 Android Studio 中的 SDL2?
【发布时间】:2017-11-01 15:18:34
【问题描述】:

如何在 Android Studio 中设置 Gradle 以查找 libSDL2.so(或任何其他 .so 库)?

  • 我已将.so 文件放在app/src/main/jniLibs 中对应的目标目录下(即/armeabi/libSDL2.so/armeabi-v7a/libSDL2.so 等)。
  • 我已将 SDL2 添加到 NDK 中包含的其他库的 CMakeFiles.txt 中。

构建链接器时找不到-lSDL2(...\ld: error: cannot find -lSDL2)

我想我需要在 gradle 脚本中添加一些东西,但我不知道什么和在哪里。

注意事项: 该项目是一个纯 NativeActivity 项目。 Android Studio 是 3.0 版

【问题讨论】:

  • 同样的问题。你找到什么了吗?

标签: c++ android-ndk android-gradle-plugin sdl sdl-2


【解决方案1】:

为时已晚,但可能对其他人有用。我最近在我的 android 项目中添加了libSDL2.so。由于我遇到了这个问题并找到了解决方案,所以我在这里为其他人发布了我的解决方案。我做了以下步骤:

  1. libSDL2.so 复制到app/jniLibs/armeabi-v7a/libSDL2.so
  2. 将以下行添加到src/main/CmakeLists.txt
add_library(
    SDL2
    SHARED
    IMPORTED
)

set_target_properties(
    SDL2
    PROPERTIES IMPORTED_LOCATION
    ${CMAKE_SOURCE_DIR}/../../jniLibs/armeabi-v7a/libSDL2.so
)

target_link_libraries(
    your-lib PUBLIC
    SDL2
)

【讨论】:

    猜你喜欢
    • 2015-01-24
    • 2012-07-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-14
    相关资源
    最近更新 更多