OGRE error LNK2005 OIS 重定义

    今天在写ogre程序使用OIS时遇到了一个链接错误:

1>MyExampleFrameListener.obj : error LNK2005: "public: class OIS::MouseState const & __thiscall OIS::Mouse::getMouseState(void)const " (?getMouseState@Mouse@OIS@@QBEABVMouseState@2@XZ) 已经在 OIS_d.lib(OIS_d.dll) 中定义
1>D:\WorkStation\Ogre\OgreFrameExample\Debug\OgreFrameExample.exe : fatal error LNK1169: 找到一个或多个多重定义的符号

 网上查找资料这是一个链接错误,链接是在所参选的链接库中出现了重定义的情况,顺便补习了一下编译链接的知识,什么EDU集之类的一大堆了。总的来说解决办法是在包含OIS.h之前定义一个宏#define OIS_DYNAMIC_LIB,用于指定ois在链接时使用的DLL库。


还有另外的方式指定宏,但是不是很明白,还要用到什么vs的命令行编译,以后慢慢研究了。


其实我也是没有搞的粉明白,说的也比较混乱,希望对在这之中的您有所帮助。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值