Intel® C++ Compiler
Community support and assistance for creating C++ code that runs on platforms based on Intel® processors.
7957 Discussions

libmmdd.lib(libmmdd.dll) : error LNK2005: lrint already defined in test.cu.obj NVIDIA CUDA

Marián__VooDooMan__M
New Contributor II
645 Views

Greetings,

I am playing around with NVIDIA CUDA technology (v4.2). I have link conflict:

libmmdd.lib(libmmdd.dll) : error LNK2005: lrint already defined in test.cu.obj
libmmdd.lib(libmmdd.dll) : error LNK2005: lrintf already defined in test.cu.obj

using MSVC 2010, ICC XE 13.0.

best,
vdm
.

0 Kudos
5 Replies
Marián__VooDooMan__M
New Contributor II
645 Views
Greetings,

When I use plain MSVC 2010 (without ICC compilation), I get:

LINK : /LTCG specified but no code generation required; remove /LTCG from the link command line to improve linker performance
libsndfile.lib(dwvw.obj) : warning LNK4049: locally defined symbol lrint imported
libsndfile.lib(vox_adpcm.obj) : warning LNK4049: locally defined symbol lrint imported
libsndfile.lib(g72x_2.obj) : warning LNK4049: locally defined symbol lrint imported
libsndfile.lib(pcm.obj) : warning LNK4049: locally defined symbol lrint imported
libsndfile.lib(gsm610.obj) : warning LNK4049: locally defined symbol lrint imported
libsndfile.lib(ms_adpcm.obj) : warning LNK4049: locally defined symbol lrint imported
libsndfile.lib(ima_adpcm.obj) : warning LNK4049: locally defined symbol lrint imported
libsndfile.lib(paf.obj) : warning LNK4049: locally defined symbol lrint imported
libsndfile.lib(double64.obj) : warning LNK4049: locally defined symbol lrint imported
libsndfile.lib(alaw.obj) : warning LNK4049: locally defined symbol lrint imported
libsndfile.lib(ulaw.obj) : warning LNK4049: locally defined symbol lrint imported
libsndfile.lib(caf.obj) : warning LNK4049: locally defined symbol lrint imported
libsndfile.lib(xi.obj) : warning LNK4049: locally defined symbol lrint imported
libsndfile.lib(mat5.obj) : warning LNK4049: locally defined symbol lrint imported
libsndfile.lib(mat4.obj) : warning LNK4049: locally defined symbol lrint imported
libsndfile.lib(ima_adpcm.obj) : warning LNK4049: locally defined symbol lrintf imported
libsndfile.lib(dwvw.obj) : warning LNK4049: locally defined symbol lrintf imported
libsndfile.lib(vox_adpcm.obj) : warning LNK4049: locally defined symbol lrintf imported
libsndfile.lib(g72x_2.obj) : warning LNK4049: locally defined symbol lrintf imported
libsndfile.lib(ulaw.obj) : warning LNK4049: locally defined symbol lrintf imported
libsndfile.lib(pcm.obj) : warning LNK4049: locally defined symbol lrintf imported
libsndfile.lib(gsm610.obj) : warning LNK4049: locally defined symbol lrintf imported
libsndfile.lib(ms_adpcm.obj) : warning LNK4049: locally defined symbol lrintf imported
libsndfile.lib(xi.obj) : warning LNK4049: locally defined symbol lrintf imported
libsndfile.lib(paf.obj) : warning LNK4049: locally defined symbol lrintf imported
libsndfile.lib(float32.obj) : warning LNK4049: locally defined symbol lrintf imported
libsndfile.lib(alaw.obj) : warning LNK4049: locally defined symbol lrintf imported
  Recorder7_Processor.vcxproj -> c:\vdm\msys\1.0\home\root\Recorder7.1\Recorder7_Processor\x64\Debug\Recorder7_Processor.exe

This is suspicious. It seems my 3rd party library libsndfile is defining "lrint" and "lrintf" functions. This could be the problem when I use ICC.

Any sugestions regarding usage build options of that library/code modification and suggestions what should I search for/change in that 3rd party library build (options)?
0 Kudos
TimP
Honored Contributor III
645 Views
Yes, because MSVC hasn't included those std=c99 functions, it's not surprising that a library intended for Visual Studio compatibility might provide its own.  It would be preferable if that library could arrange to link the versions provided by ICL when those are present.  Perhaps you could run library manager and separate them from that library.
0 Kudos
Marián__VooDooMan__M
New Contributor II
645 Views

tcprince wrote:

Yes, because MSVC hasn't included those std=c99 functions, it's not surprising that a library intended for Visual Studio compatibility might provide its own.  It would be preferable if that library could arrange to link the versions provided by ICL when those are present.  Perhaps you could run library manager and separate them from that library.

OIC. Thanks. Though I feel, this is a cosmetic issue, rather than a bug, that can be resolved easily. But much more: it is problem of mixing different C standards. Thank you for make me see clearly what is happening.

0 Kudos
biteye
Beginner
645 Views
Hello, TimP, what's the "library manager"? looks like a very useful tool. Where can I get it? Thank you very much.
0 Kudos
TimP
Honored Contributor III
645 Views
0 Kudos
Reply