【发布时间】:2018-07-19 15:07:50
【问题描述】:
SDL2 Android 项目包含一个 Android Activity 类 (SDLActivity),它使用对 nativeRunMain() 的 JNI 调用将 C 库的名称和其中的回调传递给 SDL_android.c。然后使用 dlopen 和 dlsym 动态调用 C 回调。
但是,在运行 adb logcat 时,nativeRunMain() 会说它是 Couldn't find function main in library lib<android-binary>.so。
我的 cc_library 定义如下所示:
cc_library(
name = "main",
srcs = ["jni/main.c"],
deps = [
"@libSDL2//:lib"
]
)
main.c
#include <stdio.h>
#include "SDL.h"
int main(int argc, char* argv[]) {
...
}
此处可重现的示例代码: https://files.fm/u/hr62nbr3
【问题讨论】:
-
您有可重现的示例项目吗?查看完整的 BUILD 和源文件以及项目结构会很有帮助。