error LNK2005: _DllMain@12 already defined

sakurakai 2008-05-07 11:10:08
问题是这样的
我想做一个Dll 里面要用到第三方的lib

#include "stdafx.h"
#include "antibot.h" // 第三方库的头文件
#include "GuardDll.h"

#pragma comment (lib,"XGuard_ClientLib.lib") //第三方库

int WINAPI DllMain(HINSTANCE hInstance, DWORD fdwReasion,PVOID pvReserved)
{
return TRUE;
}

#ifdef _MANAGED
#pragma managed(pop)
#endif


EXPORT int Guard()
{

ABOnSetFocus();
return 5;
}

然后就出现错误XGuard_ClientLib.lib(ClientLib.obj) : error LNK2005: _DllMain@12 already defined in GuardDll.obj
忘高手帮忙解答啊
...全文
104 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
sakurakai 2008-05-07
  • 打赏
  • 举报
回复
可是怎么来的重复定义呢 我只是调用了一个第三方的lib啊
按照1楼的做法 我把自己的DllMain删除掉了 编译都通过了

可是当调用Dll中函数时还是会出错
Unhandled exception at 0x00000000 in testGuard.exe:


难道第三方的库不能再次封装?
xkyx_cn 2008-05-07
  • 打赏
  • 举报
回复
如果你的dll不需要初始化资源或者结束时释放资源,完全可以不用DllMain,对Dll来说,这个入口函数是可选的
healer_kx 2008-05-07
  • 打赏
  • 举报
回复
这个问题很难讲,。
chowming 2008-05-07
  • 打赏
  • 举报
回复
我猜是DllMain这个函数重复定义了吧,就像只能有一个main函数一样

PS:本人完全是猜的,^_^
BluntBlade 2008-05-07
  • 打赏
  • 举报
回复
把你自己的DllMain删除掉。
sakurakai 2008-05-07
  • 打赏
  • 举报
回复
ding

我自己写的lib 在dll中调用就没有问题 谁来解释一下挖

64,647

社区成员

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

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