mingw下编译生成的dll如何在vc6.0中调用?

johnsonwuy 2007-06-15 11:17:15
用mingw写了一个简单的dll,但是在vc6.0中却无法调用!
这是头文件
#ifndef MATHOPERATOR_H_
#define MATHOPERATOR_H_
class MathOperator
{
public:
MathOperator();
~MathOperator();
int add(int m,int n);
int sub(int m,int n);
};
#endif /*MATHOPERATOR_H_*/

下面是导出的文件: DllTest.dll
EXPORTS
_ZN12MathOperator3addEii @1
_ZN12MathOperator3subEii @2
_ZN12MathOperatorC1Ev @3
_ZN12MathOperatorC2Ev @4
_ZN12MathOperatorD1Ev @5
_ZN12MathOperatorD2Ev @6
用vc的lib工具生成了在vc中的引用库DllTest.lib
然后在vc下使用,出现如下问题
#include <iostream>
#include "MathOperator.h"
using namespace std;

int main()
{
int m=5;
int n=10;
int addres;
addres=0;
cout<<"before :add result is "<<addres<<endl;
int subres=0;
MathOperator mop;
addres=mop.add(m,n);
subres=mop.sub(m,n);
cout<<"add result is "<<addres<<endl;
cout<<"sub result is "<<subres<<endl;
return 0;
}
"public: int __thiscall MathOperator::add(int,int)" (?add@MathOperator@@QAEHHH@Z)"
对于c++文件,是不是这两个函数的命名规则不一样啊,导致的不能使用? 如何修改才可以啊?
我尝试了下修改Dlltest.dll的导出文件DllTest.def 中的定义将
?add@MathOperator@@QAEHHH@Z)=_ZN12MathOperator3addEii @1
然后用lib工具
lib /machine:i386 /def:DllTest.def 生成DllTest.lib引用库,连接时没问题,可是运行时又有问题了?
请教各位大侠们,该如何解决,thank you!

...全文
450 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
acllsun 2007-06-16
  • 打赏
  • 举报
回复
www.2008pq.com
联系QQ:147858017
(1)仿QQ,MSN TQ skype 等即时通讯源代码下载(DELPHI, VC++编写),,组件齐全,调试非常简单方便!
(8)发送联机或脱机消息,同时可自定义消息字体、颜色、大小等信息,支持插入表情符号,屏幕截取。
(9)好友的添加,删除,更改等操作
支持多人消息群发等功能;在线即时语音、视频聊天;
穿透网关防火墙,可在互联网和局域网任意对话;
系统采用先进的点对点通讯技术,消息(包括文本、语音、视频、
########也可提供各类源代码(asp,asp.net,delphi,vc++,vb,php,等源代码下载 !!!!!!!!
一,
(2)个人搏客网站原代码等
(3)员工档案系统源代码
(4)办公用品管理系统源代码
(5)汽车配件前台收费源代码
(6)人员信息管理系统源代码
(7)教材信息管理系统源代码
---------------------
二,
提供ASP各种网站源代码!

www.2008pq.com/bbs/Default.asp
E-mail:root@2008pq.com
联系QQ:147858017
johnsonwuy 2007-06-15
  • 打赏
  • 举报
回复
但是我这里的是要导出类的东西!用extern "C"的形式导出标准C函数,和c++的类函数是不一样的啊!
  • 打赏
  • 举报
回复
extern "C"的形式导出标准C函数
taodm 2007-06-15
  • 打赏
  • 举报
回复
导出类?
建议你不要浪费力气了。gcc和VC的对象模型是完全不同的。
用标准dll,只使用标准C支持的东西。
todototry 2007-06-15
  • 打赏
  • 举报
回复
mark之

65,210

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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