Android下用C编写动态库及使用动态库

    PC上用C编写的图像处理程序想要在Android下使用,打算把图像处理部分做成动态库提供给Android HAL层的图像获取模块调用。

    用C编写动态库参照下面两篇blog:

    参考:

    1.  http://www.cnblogs.com/cutepig/archive/2011/04/17/2018985.html

    2.  http://www.jxva.com/blog/201112/152.html 


     编译出现问题:undefined reference to 'dlsym'     

     解决方法见:编译错误undefined reference to `dlsym' 的解决方法


         Done!


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,针对你的问题,我可以给你提供一个示例Android CMake构建脚本,用于生成动态库并应用第三方动态库和静态库。请注意,以下示例假设你已经具备一定的Android CMake构建经验,了解如何编写CMakeLists.txt文件,并且已经安装并配置好了必要的工具链。 首先,我们需要在CMakeLists.txt文件中添加以下内容,以指定要构建的动态库和相关的第三方库: ``` # 指定要构建的动态库名称 set(TARGET_LIB my_dynamic_lib) # 添加动态库源文件 add_library(${TARGET_LIB} SHARED src/main/cpp/my_dynamic_lib.cpp ) # 添加第三方动态库 add_library(third_party_lib SHARED IMPORTED) set_target_properties(third_party_lib PROPERTIES IMPORTED_LOCATION ${CMAKE_CURRENT_SOURCE_DIR}/src/main/jniLibs/${ANDROID_ABI}/libthird_party_lib.so) # 添加第三方静态库 add_library(third_party_static_lib STATIC IMPORTED) set_target_properties(third_party_static_lib PROPERTIES IMPORTED_LOCATION ${CMAKE_CURRENT_SOURCE_DIR}/src/main/jniLibs/${ANDROID_ABI}/libthird_party_static_lib.a) # 链接动态库及第三方库 target_link_libraries(${TARGET_LIB} third_party_lib third_party_static_lib) ``` 上述代码中,我们首先定义了要构建的动态库名称为`my_dynamic_lib`。然后,我们添加了动态库的源文件`src/main/cpp/my_dynamic_lib.cpp`。接着,我们添加了第三方动态库`libthird_party_lib.so`和第三方静态库`libthird_party_static_lib.a`。其中,我们通过`set_target_properties`命令设置了这两个库的路径,这假设这两个库已经被放置在了`src/main/jniLibs/${ANDROID_ABI}/`目录下。 最后,我们通过`target_link_libraries`命令将动态库和第三方库链接起来。 希望这个示例能够帮助到你。如果你还有其他问题或疑问,请随时提出。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值