首页 新闻 会员 周边

C++封装dll以及调用问题fatal error LNK1136

0
悬赏园豆:30 [已解决问题] 解决于 2011-08-20 16:12

由于需要,要把自己的代码封装一个DLL,实现方法如下:建立一个win32的dll工程->添加代码和依赖的别的一些库->建立一个win32应用程序,调用封装的DLL。把所有的环境都设置好了。编译出错fatal error LNK1136: invalid or corrupt file。网上找了很多但是没一个可以的。

封装函数如下:头文件里:extern "C" _declspec(dllexport)int rtprecv(HWND playwnd);

cpp文件里int rtprecv(HWND playwnd){自己的功能};

PS:封装用的源代码是在一个win32应用程序中测试过的没问题。

我用depends软件查看封装好的DLL接口是没问题的。



问题补充:

把两个生成的DLL和LIB文件删除,从新生成。同时生成了LIB和DLL。调用DLL出现这个问题。但是调用LIB没问测试执行效果都好。

静幽独白的主页 静幽独白 | 初学一级 | 园豆:145
提问于:2011-08-18 09:42
< >
分享
最佳答案
0

你新建的项目引用的lib和.h中申明的不一致.

收获园豆:30
Launcher | 高人七级 |园豆:45045 | 2011-08-18 09:46
我刚测试过。直接用LIB文件没问题(两个是同时生成的)。用DLL就不可以。哭哦~~~
静幽独白 | 园豆:145 (初学一级) | 2011-08-18 10:31
@静幽独白:要直接调用dll,请使用LoadLibrary、GetProcAddress来动态加载调用dll.
Launcher | 园豆:45045 (高人七级) | 2011-08-18 20:48
恩,我昨天发现了。以前我掉的dll都有对应的lib。我一直以为,直接在link里面加载就好了。谢了~我整找怎么调dll呢。
静幽独白 | 园豆:145 (初学一级) | 2011-08-19 08:53
@荒原上的军旗:恩,可以了。谢谢了~
静幽独白 | 园豆:145 (初学一级) | 2011-08-20 16:12
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册