各位前辈,我在开发中遇到了这样一个问题:
我手头有一个静态库,有代码,并且分别在debug和release模式下成功编译出了不同版本的lib库文件。我在其它的项目中需要链接这个库,并且Debug版本的程序链接debug版本的静态库,release版本的程序链接release版本的静态库。现在的情况是,release版本的程序生成成功,debug版本的程序提示链接错误:
Logger_D.lib(StaticLogger.obj) : error LNK2038: 检测到“_ITERATOR_DEBUG_LEVEL”的不匹配项: 值“0”不匹配值“2”(dllmain.obj 中)
查看网上的信息,都说是链接的库的debug版本或release版本不匹配,可是我明明是编译并链接了对应版本的静态库啊~
于是一不做二不休,在release版本的程序中链接了debug版的静态库试试——竟然也能成功!这说明我根本就没有成功生成debug版本的静态库!可是将编译选项翻了一遍又一遍,就是找不出原因~
恳请各位前辈指教,到底应该怎样设置编译选项,生成Debug版本的静态库啊?
怎样设置VS的编译选项,生成Debug版的静态库(lib)?
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
4条回答 默认 最新
- casinozyz 2015-01-25 03:48关注
各位前辈,问题解决了~
我用二进制查看器找到lib文件里的_ITERATOR_DEBUG_LEVEL字段,将值手动改为2(0x30改为0x32,一共5处),顺利通过链接。但是原因还是不清楚。
只好手动修改二进制文件了~
激动中~本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 素材场景中光线烘焙后灯光失效
- ¥15 请教一下各位,为什么我这个没有实现模拟点击
- ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
- ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
- ¥20 有关区间dp的问题求解
- ¥15 多电路系统共用电源的串扰问题
- ¥15 slam rangenet++配置
- ¥15 有没有研究水声通信方面的帮我改俩matlab代码
- ¥15 ubuntu子系统密码忘记
- ¥15 保护模式-系统加载-段寄存器