看了个vc6写的小程序用vc2008写就出错了,请帮我看看出错在哪里?

我在vc2008里写了个简单的DLL,并希望调用它,结果出错了,不知道出错在哪里,希望知道的朋友指点,谢谢!

dll代码:

int myadd(int a, int b)//自定义的函数,返回俩数之和
{
// AFX_MANAGE_STATE(AfxGetStaticModuleState());
return a+b;
}

; myadd.def : 声明 DLL 的模块参数。

LIBRARY "myadd"

EXPORTS
; 此处可以是显式导出
myadd

exe代码

#pragma comment (lib,"myadd.lib")
__declspec(dllimport) int myadd(int a, int b) ;

void Ctest_myaddDlg::OnBnClickedButton1()//当按钮按下就返回俩个数的和
{
// TODO: 在此添加控件通知处理程序代码
myadd(11,22);//dll里的函数

}

1>正在链接...
1>LINK : fatal error LNK1104: 无法打开文件“myadd.lib”
1>生成日志保存在“file://c:\Users\zewu\Documents\Visual Studio 2008\Projects\test_myadd\test_myadd\Release\BuildLog.htm”
1>test_myadd - 1 个错误,0 个警告
========== 全部重新生成: 成功 0 个,失败 1 个,跳过 0 个 ==========

我已经把编译好的myadd.dllmyadd.lib拷贝到了release debug 目录下

2个回答

myadd.lib在哪里定义的?是com对象么,有没有注册

vc6和vc2008的编译器实现有很大区别,所以一般不要混用两个编译器来做库的调用等。
其次你可以用LoadLibrary的方式显示加载dll来调用函数。这样就不需要依赖lib库文件

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐