如何获得错误而不仅仅是警告LNK4006 "... already defined in ... second definition ignored"?



当构建包含重复函数定义的静态库时,msvc++ 2013给了我一个警告:

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

恐怕警告太容易错过了。是否有可能使msvc++ 2013报告错误并失败构建,如果发现同一函数的多个定义(在不同的。cpp文件中)?

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

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

进入:Project Properties -> Linker -> General -> Treat Linker Warnings As Errors,切换到Yes (/WX)

相关内容

最新更新