我有要导入库的项目。当我这样做(从库中导入.lib文件),而不是从库中调用任何函数,我会得到以下错误:
"C:Uzmyproj.vcxproj" (default target) (1) ->(Link target) ->
aziotsharedutil.lib(consolelogger.obj) : error LNK2005: printf already defined in msvcrtd.lib(MSVCR120D.dll) [C:Uzmyproj.vcxproj]
aziotsharedutil.lib(socketio_win32.obj) : error LNK2005: _vsnprintf_l already defined in msvcrtd.lib(MSVCR120D.dll) [C:Uzmyproj.vcxproj]
uamqp.lib(amqpvalue_to_string.obj) : error LNK2005: _vsnprintf_l already defined in msvcrtd.lib(MSVCR120D.dll) [C:Uzmyproj.vcxproj]
C:Dzmyproj.vcxprojmyproj.dll : fatal error LNK1169: one or more multiply defined symbols found [C:Uzmyproj.vcxproj]
0警告(S) 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
所有3个作为静态链接库.lib构建的3个项目,具有相同的设置多线程debug dll(/mdd),与我的项目相同。
谢谢!
用相同版本的编译器编译,这解决了我的问题!