LINUX下共享库导出 类 被应用程序继承的问题。

天地大美 2014-03-07 08:02:22
linux下实现了一个共享库,在里面导出一个类A。
class EXPORT A
{
public:
void outputA();
};

void A::outputA()
{
printf("A");
}

另外做一个程序调用共享库,并实现另一个类B,B继承A,扩展A的功能,但是调用A的接口编译不通过。
class B:public A
{
public:
void outputB();
}
B::outputB()
{
outputA();
printf("B");
}
main()
{
B obj;
obj.outputA();
obj.outputB();
}
这在WINDOWS下是没有问题的。


求教大牛们,这个问题应该怎么解决。




...全文
117 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
天地大美 2014-03-10
  • 打赏
  • 举报
回复
linux 下的 so 不能导出类。这个渣渣的系统啊。 想导出类还得用个虚基类头文件,在so里分配个子类的对象导出地址来强转。 但是如果我想在外部继承和扩充怎么办呢?
天地大美 2014-03-10
  • 打赏
  • 举报
回复
原来可以导出类,只是不能导出类的加了inline的成员函数。
kenny_hwei 2014-03-08
  • 打赏
  • 举报
回复
不会是链接错误吧,导入SO库了吗
kenny_hwei 2014-03-08
  • 打赏
  • 举报
回复
编译错误是什么

18,829

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 专题技术讨论区
社区管理员
  • 专题技术讨论区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧