引用DLL后无法看到函数

Masscergogo 2016-10-13 10:57:24
使用VC2013制作了一个MFC带自动化接口的Dll,名字为MFCDll2,,其中里面导出了两个函数P01Add和P02Sub,使用DEPENDS.EXE也能看到这两个函数,并且正常注册了。

下面是添加在MFCDll2.cpp中添加的代码
extern "C" _declspec(dllexport) int P01Add(int a, int b)
{
return a + b;
}
extern "C" _declspec(dllexport) int P02Sub(int a, int b)
{
return a - b;
}
在MFCDll2.def中添加了
LIBRARY

EXPORTS
; 此处可以是显式导出
P01Add @ 1
P02Sub @ 2
DllCanUnloadNow PRIVATE
DllGetClassObject PRIVATE
DllRegisterServer PRIVATE
DllUnregisterServer PRIVATE
后来使用了VB2013新建了一个Windows窗体程序,并在项目属性中引用了MFCDll2,可是打开对象浏览器,却看不到MFCDll2导出的函数,而且MFCDll2也无法使用。不知道是哪里的原因,是不是在MFCDll2哪里的设置方法不对。
...全文
1517 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
韩俊俊 2016-12-27
  • 打赏
  • 举报
回复
我这边遇到和楼主一样的问题. 只不过我这边com组件是别人提供的. 我用C#调用他之前已经注册了并且引用到了程序中. 用对象浏览器看不到他提供的函数. 用oleview可以看到提供的函数但是会报错.报错说是无法反编译程序集. --------------------------- OLE/COM Object Interface Viewer --------------------------- Could not decompile selected item Error loading type library/DLL. TYPE_E_CANTLOADLIBRARY ($80029C4A) --------------------------- 确定 --------------------------- 搞不清楚现在是dll问题还是我程序写的有问题. 我之前调用com组件直接注册并引用都没问题.
韩俊俊 2016-12-27
  • 打赏
  • 举报
回复
csdn这么垃圾.我打了半天字.提示登录点了登录,我打的东西没自动回复全没了.
Masscergogo 2016-10-14
  • 打赏
  • 举报
回复
已经搞明白了,我真是小白
Masscergogo 2016-10-14
  • 打赏
  • 举报
回复
没有人知道吗?
Masscergogo 2016-10-14
  • 打赏
  • 举报
回复
我不是要用它原生的函数,是要用自己添加的两个函数,P01Add,P02Sub
threenewbee 2016-10-13
  • 打赏
  • 举报
回复
本来就看不到,dependency只能看原生dll的函数
Masscergogo 2016-10-13
  • 打赏
  • 举报
回复
就是想使用一下Automation接口,引用后直接在程序中使用Dll的函数。

7,540

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 VC.NET
社区管理员
  • VC.NET社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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