调用的dll里有个结构体里的一个变量名和vs2010新建工程自动加如的附加库里的windows的一个头文件里的定义重复怎么办?

winneking 2013-01-22 09:52:46
在网上查到说调用多个dll时,常会出现这种变量或函数的重复定义,可以用namespace,来设定dll为不同的命名空间,就不会出现这种重复定义的报错了。可我不知道具体怎么操作,我按照网上找到的方法试了一下没有成功。http://blog.csdn.net/ydbcsdn/article/details/1817622
我按照这个博客里说的在:在H文件的导出声明中添加 namespace MySpace{},并将所有要导出的函数都放在{}中。我在调用的dll里的def.h文件里把namespace MySpace{}把所以的变量和函数申明都括了进来,原来的头文件的内容都放在#ifndef和#endif中的,我就在外面有加了一个namespace MySpace{}。结果一堆
error LNK2019: 无法解析的外部符号 "__declspec(dllimport) long __stdcall。...............
的错误。

有人能详细讲讲怎么给已经有的dll加上命名空间,的正确方法不?
...全文
155 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
winneking 2013-01-28
  • 打赏
  • 举报
回复
是奇葩,后来直接找开发的公司要了份支持vs的dll就解决了。
winneking 2013-01-23
  • 打赏
  • 举报
回复
唉,这个帖子估计又要沉底了,有没有人知道的呀!
神-气 2013-01-23
  • 打赏
  • 举报
回复
晕,别人dll都写好了,你还改什么。。 函数名重复好解决,你用函数指针获取dll的函数地址就可以了。 变量名与window头文件的定义重复,这就很奇葩了。。
winneking 2013-01-22
  • 打赏
  • 举报
回复
不是我写的dll导出导入文件,我是用的别人的现成的SDK,只有dll和.h和def.h.可以在def.h里加namespace吗?
GIS_wudi 2013-01-22
  • 打赏
  • 举报
回复
看起来是dll导入导出文件写的有问题 楼主还是学学基本的dll导入函数导出函数怎么设置
winneking 2013-01-22
  • 打赏
  • 举报
回复
不管我把using namespace MySpace;放在哪都这样。

15,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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