c++ - 如何从基于 native 事件的项目链接到Android Studio中的SDL2?

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

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

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

  • 构建链接器时找不到-lSDL2 (...\ld: error: cannot find -lSDL2)
    我想我需要添加一些东西到gradle脚本中,但是我找不到什么地方。

    笔记:
    该项目是纯NativeActivity项目。
    Android Studio版本是3.0

    最佳答案

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

  • libSDL2.so复制到app/jniLibs/armeabi-v7a/libSDL2.so
  • 将以下行添加到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
    )
    

    关于c++ - 如何从基于 native 事件的项目链接到Android Studio中的SDL2?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47058141/

    相关文章:

    c++ - try catch 反射加载的 dll

    c++ - 在 float32 中保存 float16 最大数量

    android - 完全使用 native 代码(无 JNI)从后台线程更新 UI?

    Android ICS 4.0 NDK NewStringUTF 正在崩溃应用程序

    android - 如何在 Android Studio 3.3 上修复 "ERROR: Gradle DSL method not found"

    自由函数的 c++ 源代码组织

    c++ - STM32 NVIC ADC 中断未触发

    android - 在android应用程序中合并两个手势原始文件

    android - Android Studio 23.0.0 rc3错误|尝试了所有解决方案不起作用

    android - 如何使用Kotlin Gradle DSL在Android项目中启用ViewBing?