参考:https://blog.csdn.net/LG1259156776/article/details/80828720
https://blog.csdn.net/cai18381306175/article/details/79383068
https://www.xuebuyuan.com/979269.html
error LNK2005是很明显的重定义问题
但是有时候,我们用别人的lib进行开发,很难改变重定义问题。
这个时候,我们就选择(强制文件输出)暴力跳过,进行编译。
这里使用/FORCE:MULTIPLE 进行解决
方法:
工程 ------》属性
------》连接器
-------》命令行
添加 /FORCE:MULTIPLE
但是,我们要知道为什么添加这个可以编译通过:
/FORCE:[MULTIPLE|UNRESOLVED]
/FORCE 选项可以带一个可选参数:
使用 /FORCE:MULTIPLE 可创建输出文件,而不管 LINK 是否找到了符号的多个定义。
使用 /FORCE:UNRESOLVED 可创建输出文件,而不管 LINK 是否找到未定义的符号。如果未解析入口点符号,则将忽略 /FORCE:UNRESOLVED。
不带参数的 /FORCE 表示多次定义和未解析。
用该选项创建的文件可能不会按预期运行。 当指定 /FORCE 选项时,链接器将不增量链接。
如果使用 /clr 编译模块,则 /FORCE 将不会创建映像。
参见: