中易网

请教一个链接一个需要MFC支持的LIB库出现的问题

答案:2  悬赏:10  
解决时间 2021-12-23 11:03
请教一个链接一个需要MFC支持的LIB库出现的问题
最佳答案
链接器工具错误:在对象中已定义符号

以修饰形式显示的给定 symbol 被多次定义。

可能的原因 :

1 不慎同时与单线程库和多线程库链接。确保应用程序项目文件只包括适当的库,并且任何第三方库已适当创建了单线程或多线程版本。
2 在也使用 /clr 时混合静态库和动态库。
3 该符号为封装函数(通过用 /Gy 编译创建),包含在多个文件中,但在各编译间已改变。重新编译所有包含 symbol 的文件。
4 以不同的形式在不同库中的两个成员对象中定义了该符号,并且使用了这两个成员对象。
5 某个绝对符号被定义两次,而每次定义的值不同。
6 头文件声明并定义了变量。
7 当将 uuid.lib 与定义 GUID 的其他 .lib 文件(例如 oledb.lib 和 adsiid.lib)一起使用时。

我下载了一个库,并按照提示(可能不完全照做了,因为看不太明白):

运行buildLib.bat这个批处理文件,生成了.lib和.h。

在VC的菜单:Project->Settings->Link->General中,在Debug配置信息中加ltilib.lib,在Release配置信息中加rltilib.lib

在VC的菜单:Project->Settings->C/C++->Preprocessor->Additional include directories中,在所有配置信息(Debug和Release),加ltilib\lib\headerFiles

在VC的菜单:Project->Settings->C/C++->C++ Language:Enable RTTI,在选项前面打勾。
然后编译.便出现问题了.
我觉得问题可能出在下列这段话.我不明白啊.请两位高手详细解释一下,行吗?
by default the lib is built with the option /MD resp. /MDd, i.e. the multi-threaded-dll run-time libraries are used. This means that MFC must be linked dynamically. However, if you need to use MFC in a static lib (not recommended), then you must set the variable v_buildDLLversion=0 in the Perl script createMakefile.pl before hand.
全部回答
什么问题? 再看看别人怎么说的。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
刚毕业怎么样可以找到合适的工作?
一佛乘的意思是什么?一佛乘的释义是什么啊?
请问华为G621-TL00M能玩儿炉石传说手机版么?
全通的意思是什么啊?请解释下!
发传的意思是什么?发传的释义是什么啊?
zte f608是什么操作系统
学校校训:“承责、知辱、健体、崇学”怎样做
仰體的意思是什么?仰體的释义是什么啊?
回扃的意思是什么啊?请解释下!
原则的意思是什么?原则的释义是什么啊?
武汉有线的宽带怎么样呢?
闷闷的意思是什么啊?请解释下!
伊舊的意思是什么?伊舊的释义是什么啊?
利用家居风水化解婚姻矛盾
求 质量员专业知识与实务电子书,最好是电子
推荐资讯
怎样辨别三生公司招聘客服信息是真假
急求建筑施工安全事故案例
孕早期失眠对胎儿影响大吗?我最近都睡得不好
中国移动(天怡指定专营店)(民和街与民安路交
想开间母婴店,在什么地方进货比较好?
黑头导出液怎么用呀
青春期男孩长青春豆怎么办
宣汉县工商行政管理局双河工商所办公地址在什
求用南方全站仪为高层建筑放线过程
留職的意思是什么?留職的释义是什么啊?
撾鼓的意思是什么?撾鼓的释义是什么啊?
石头能抗多少温度沸水
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?