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
路过学习一下
路过瞧瞧哦啊