printf / _vsnprintf_l /已在msvcrtd.lib中定义(MSVCR120D.dll)

时间:2016-11-23 11:41:20

标签: visual-studio printf lnk2019 lnk2005 msvcr120.dll

我有项目,我想导入库。当我这样做(从库中导入.lib文件)而不是从库中调用任何函数时,我得到以下错误:

      "C:\Uz\myproj.vcxproj" (default target) (1) ->(Link target) ->
    aziotsharedutil.lib(consolelogger.obj) : error LNK2005: printf already defined in msvcrtd.lib(MSVCR120D.dll) [C:\Uz\myproj.vcxproj]
    aziotsharedutil.lib(socketio_win32.obj) : error LNK2005: _vsnprintf_l already defined in msvcrtd.lib(MSVCR120D.dll) [C:\Uz\myproj.vcxproj]
    uamqp.lib(amqpvalue_to_string.obj) : error LNK2005: _vsnprintf_l already defined in msvcrtd.lib(MSVCR120D.dll) [C:\Uz\myproj.vcxproj]
    C:\Dz\myproj.vcxproj\myproj.dll : fatal error LNK1169: one or more multiply defined symbols found [C:\Uz\myproj.vcxproj]

0警告    4错误

有谁知道我该如何解决这个问题? 我在项目中导入了以下库:

msvcprtd.lib

msvcrtd.lib
kernel32.lib
ole32.lib
aziotsharedutil.lib    //imported Library .lib file
uamqp.lib              //imported Library .lib file
eventhub_client.lib    //imported Library .lib file
Advapi32.lib
Crypt32.lib
Ws2_32.lib
Secur32.lib
ucrt.lib
vcruntime.lib

注1

构建为静态链接库.lib的所有3个项目具有相同的设置多线程调试DLL(/ MDd),与我的项目相同。

谢谢!

1 个答案:

答案 0 :(得分:0)

使用相同版本的编译器编译,解决了我的问题!