微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 手机设计讨论 > 高通手机平台交流 > C++无法调用C的动态库

C++无法调用C的动态库

时间:10-02 整理:3721RD 点击:

在framwork下写了一个C++的动态库,用C++调用,可以正常跑起来。同样方法用C写了一个动态库,用C++调用动态库的时候,mmm 一直编译无法通过,提示错误如下:
target SharedLib: libstagefright (out/target/product/xx/obj/SHARED_LIBRARIES/libstagefright_intermediates/LINKED/libstagefright.so)
php?mod=tag&id=6090" target="_blank" class="relatedlink">Frameworks/av/media/libstagefright/./MPEG4Writer.cpp:496: error: undefined reference to 'TestApi()'
collect2: error: ld returned 1 exit status
make: *** [out/target/product/xx/obj/SHARED_LIBRARIES/libstagefright_intermediates/LINKED/libstagefright.so] 错误 1

android.mk主要配置了这几个地方(我做过实验,把c的测试代码放到cpp文件里,编译出来的C++库调用是没有问题的)
28 LOCAL_CFLAGS=-lTestApi
29
30 LOCAL_LDFLAGS:= \
31                -L$(TOP)/out/target/product/xx/symbols/system/lib/

97 LOCAL_C_INCLUDES:= \
        $(TOP)/frameworks/av/media/libstagefright/TestApi
113 LOCAL_SHARED_LIBRARIES := \
         libTestApi

说明下,我的库生成后在/out/target/product/xx/symbols/system/lib/路径,库的名字是 libTestApi.so 。
c++调用的时候头文件是包含是没有问题。

但是最终编译库的连接都是出错,请指点。
谢谢!

没看懂啊啊a

路过学习一下

路过瞧瞧哦啊

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top