c++ mk文件出错Jni调用产生java.lang.UnsatisfiedLinkError错误解决方法
作者:
错误产生在我把方法从c语言转为c++语言后产生的,后来检查到这种错误是因为mk文件出错,加载c文件和加载c++的文件所用的代码不一样,下面请看
错误为:
Android.mk文件
c++的调用方法为:
复制代码 代码如下:
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := TestNdk
LOCAL_CPP_EXTENSION :=com_ndk_test_JniClient.cpp
include $(BUILD_SHARED_LIBRARY)
c中的调用方法:
复制代码 代码如下:
LOCAL_SRC_FILES := com_ndk_test_JniClient.c
另一个使用变量的方法,一直成功运行
c++正确的mk文件:
复制代码 代码如下:
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := TestSm3
LS_CPP=$(subst $(1)/,,$(wildcard $(1)/*.cpp))
LOCAL_SRC_FILES := $(call LS_CPP,$(LOCAL_PATH))
include $(BUILD_SHARED_LIBRARY)
您可能感兴趣的文章:
- c++ error:crosses initialization of问题解决分析
- 解决c++ error:crosses initialization of 问题
- 详解C/C++ Linux出错处理函数(strerror与perror)的使用
- 关于VS2019 C++项目同时出现LNK2005 和LNK1169 error 的解决办法
- 解决启动MongoDB错误:error while loading shared libraries: libstdc++.so.6:cannot open shared object file:
- 解决VC++编译报错error C2248的方案
- c/c++ Error: redefinition of 'xxx'的问题及解决方法