.C里面不能直接加载提供的.CPP的静态库吗?
   关注学习一下。

解决方案 »

  1.   

    MaxWit技术领域区,高手、新手都会让你受益匪浅,http://linux.chinaunix.net/bbs/forum-70-1.html
      

  2.   

    烦死了   越来越觉得Windows是世界上最好的操作系统
      

  3.   

    如果那个库是C++写的,当然用C++的文件去调用比较好,然后自己留出一个C的接口。因为C++的函数名在编译成so之后会有变化,直接用C是找不到的。不知道楼主的代码中挂掉的提示信息是什么呢?
      

  4.   

    好像只能加个适配层,或者将C++函数名加前缀extern “c”。
      

  5.   

    由于android用的是自己裁剪的bionic C,以及其他的一些加载库,如果你要用一个不是在android工程上编译出来的第三方的库,原则上是很难的。一个可行的方法:
    在android根目录上建一个lib文件夹,将你所用的那个第三方so文件本应该运行的linux机器上的依赖的so文件,都拷贝到这个目录下,然后写一个你需要的程序,使用这个第三方的so文件:注意,该程序不能再android上编译,只能在“那个so文件本应该运行的linux机器”上编译,编译成deamon程序,用socket和android应用通信即可。
      

  6.   

    另外,当然也是最好的选择,如果你有那个so文件的源代码,重新在android上编译一下,一切都OK第三方非android环境下编出来的so都不能用。连动态库的加载方式都不一样,更别说使用了。