Visual Studio:"错误LNK2005:_strchr已定义"使用/ MT时

时间:2016-03-08 05:25:27

标签: c++

我在Visual Studio中构建应用程序,但在其他计算机上运行它没有运气。当我尝试将/ MT中的项目编译为运行时库时,我仍然得到以下输出:

error LNK2005: _strrchr already defined in LIBCMT.lib(strrchr.obj)
warning LNK4098: defaultlib 'msvcrt.lib' conflicts with use of other libs; use /NODEFAULTLIB:library
error LNK1169: one or more multiply defined symbols found

当我将运行时库从/ MD切换到/ MT时,我不知道为什么我仍然收到这些消息。此错误消息的大多数解决方案都涉及简单地切换运行时库,但我已经这样做了。我使用的唯一其他库是SDL 1.2。

1 个答案:

答案 0 :(得分:0)

您使用的是静态SDL库吗?我假设问题是您正在使用/ MD或/ MDd编译的另一个静态库进行链接。确保所有库依赖项(及其所有依赖项)都已使用/ MT编译。