zhenbinzhi
zhenbinzhi
采纳率0%
2015-08-01 12:38

看了个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条回答

  • devmiao devmiao 6年前

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

    点赞 2 评论 复制链接分享
  • oyljerry oyljerry 6年前

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

    点赞 评论 复制链接分享

为你推荐