cython 编译 arm .so kivy android运行后报错 empty/missing DT_HASH in “xxx.so” (built with — hash-style=gnu?)

使用 kivy 编译 apk 调用了 cython 编译的 so,运行后闪退,查看日志:

stderr: importerror: dlopen failed: empty/missing DT_HASH in "core.so" (built with — hash-style=gnu?)

查阅资料后,主要在编译的时候增加参数:-Wl,–hash-style=sysv

具体是在 setup.py 中增加编译参数

link_args=[‘-Wl,–hash-style=sysv’]  
setup(cmdclass = {‘build_ext’: build_ext},
ext_modules= [ Extension("core", ["core.py"],
extra_compile_args=compile_args,
extra_link_args=link_args) ])

参考资料:https://stackoverflow.com/questions/28638809/android-ndk-unsatisfiedlinkerror-dlopen-failed-empty-missing-dt-hash

 

发表评论

您的电子邮箱地址不会被公开。