- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
SDL2 Android 项目包括一个 Android Activity 类 (SDLActivity),它使用对 nativeRunMain()
的 JNI 调用将 C 库的名称和其中的回调传递给 SDL_android.c。 .然后使用 dlopen
动态调用 C 回调和 dlsym
.
但是,当运行 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"
]
)
主.c
#include <stdio.h>
#include "SDL.h"
int main(int argc, char* argv[]) {
...
}
此处可重现示例代码: https://files.fm/u/hr62nbr3
最佳答案
main
未作为符号导出,因为它是保留的函数名称,将名称更改为其他名称可以解决此问题。
使用 nm -D
检查 .so 文件的动态符号表,我可以看到 main
没有作为符号导出。将函数 main
的名称更改为其他名称意味着它将可用。
关于android - 如何从我的 Bazel cc_library 公开回调,以便可以从我的 Android 项目中的 libSDL2 调用它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51426104/
我正在尝试为定制的、基于 debian 的 Linux 系统交叉编译 libSDL 1.2 版。我使用的工具链已经正确配置,因此我只需在所需代码上运行 gcc/g++,生成的输出与目标机器兼容。 当我
我正在尝试为定制的、基于 debian 的 Linux 系统交叉编译 libSDL 1.2 版。我使用的工具链已经正确配置,因此我只需在所需代码上运行 gcc/g++,生成的输出与目标机器兼容。 当我
我使用图形库 libsdl(针对 Java 的 C SDL 绑定(bind))以及多代理库 Jade。 我有一个代理,它创建一个使用libsdl创建的GUI类,创建后,代理的代码不再执行。事实上,唯一
我正在尝试编译一个C代码,它需要SDL库(v1.2)、SDL_draw和我老师强加的库。 .c 和 makefile 代码可以在另一台计算机上运行。 我使用 makefile,当我“make”时,我收
我正在尝试为我的 mips 平台编译 libSDL-1.2.14。 但是没有成功。 这些是我尝试过的步骤: 导出 PATH=/opt/mips-4.3/bin:$PATH 进入 libSDL-1.2.
我正在尝试在 IBM 机器上“制作”ioquake3。但是,我不断收到“搜索 -lSDL 时跳过不兼容的/libSDL.a”错误。我是 Linux 的终极初学者,但不是半途而废!我没有安装任何库的权限
我正在尝试在我的 mac 上编译一个 cmake 项目,但它依赖于 SDL 框架。我安装了这个框架,然后在 cmake 之后向我报告找不到 libSDL 我自己设置了以下导出变量(按照 cmake 的
首先要确认我浏览了所有与此类似的主题,但没有发现任何可以解决我的问题的东西。当我想在我的手机上运行应用程序时,它会抛出 UnsatisfiedLinkError 和 No implementation
我一直在尝试编译最基本的 SDL 应用程序,但无论我做什么,我都会不断收到此错误: c:/program files (x86)/codeblocks/mingw/bin/../lib/gcc/min
我是一名优秀的程序员,十分优秀!