如何获取错误而不是仅仅警告LNK4006“...已经在......第二个定义中定义了”?

时间:2016-08-28 06:58:21

标签: visual-studio visual-studio-2013 linker

在构建包含重复函数定义的静态库时,MSVC ++ 2013只给出了一个警告:

LNK4006 "... already defined in ... second definition ignored"?

我担心警告很容易错过。如果找到相同函数的多个定义(在不同的.cpp文件中),是否可以使MSVC ++ 2013报告错误并使构建失败?

请注意,解决方案suggested here的反向(即项目设置>链接器>取消选中'强制文件输出')不适用,因为这是针对可执行文件的,但在此问题中,静态库处于焦点因此没有“链接器”项目选项。

1 个答案:

答案 0 :(得分:1)

似乎没有办法将特定警告视为错误。但是,您可以将每个链接器警告视为错误:

转到:Project Properties -> Linker -> General -> Treat Linker Warnings As Errors并将其切换为Yes (/WX)