c调用c++的动态库解决思路
c调用c++的动态库
环境:centos 6.4
编译器:gcc
问题:在c的文件中使用c++的动态库
c++的动态库已经使用extern "C" {} 封装
查了网上的资料尝试了以下方法:
1、在c文件中使用extern { #include "库的头文件"}方式
可惜在c文件中的extern位置报错:expected identifier or ‘(’ before ‘{’ token
2、尝试用g++编译现有的c工程,没能成功,出现void*无法转换到void**的错误
烦请各位给点意见。谢谢
------解决方案--------------------
看起来似乎是你程序本身的问题,与动态库调用没多大关系。
------解决方案--------------------
学会使用objdump
------解决方案--------------------
1、在c文件中使用extern { #include "库的头文件"}方式
还真没这么用过。
C++导出类应该用不了吧?
如果导出的是全局函数,直接include头文件,调用就行了。
------解决方案--------------------
尝试用g++编译现有的c工程,没能成功,出现void*无法转换到void**的错误
修改下这个问题吧!这个应该是代码本身有问题
------解决方案--------------------
在C里用的时候,把 extern "C" 从头文件中去掉。
------解决方案--------------------
单独typedef 一个类型,再定义变量填初始值。
环境:centos 6.4
编译器:gcc
问题:在c的文件中使用c++的动态库
c++的动态库已经使用extern "C" {} 封装
查了网上的资料尝试了以下方法:
1、在c文件中使用extern { #include "库的头文件"}方式
可惜在c文件中的extern位置报错:expected identifier or ‘(’ before ‘{’ token
2、尝试用g++编译现有的c工程,没能成功,出现void*无法转换到void**的错误
烦请各位给点意见。谢谢
------解决方案--------------------
看起来似乎是你程序本身的问题,与动态库调用没多大关系。
------解决方案--------------------
学会使用objdump
------解决方案--------------------
1、在c文件中使用extern { #include "库的头文件"}方式
还真没这么用过。
C++导出类应该用不了吧?
如果导出的是全局函数,直接include头文件,调用就行了。
------解决方案--------------------
尝试用g++编译现有的c工程,没能成功,出现void*无法转换到void**的错误
修改下这个问题吧!这个应该是代码本身有问题
------解决方案--------------------
在C里用的时候,把 extern "C" 从头文件中去掉。
------解决方案--------------------
单独typedef 一个类型,再定义变量填初始值。