linking error

linking error

i am trying to comile a VS2008 solution from the command line  using the intel compiler version : intelcompiler 2013 update 2 

i get the folowing error: error LNK2019: unresolved external symbol ___intel_sse2_strlen

when i compile the same code from the VS2008 IDE the linking is successful

this is the code i am using:

call "C:\Program Files\Microsoft Visual Studio 9.0\VC\vcvarsall.bat" x86
call "C:\Program Files\Intel\Composer XE 2013\bin\compilervars.bat" ia32 vs2008
call "C:\Program Files\Intel\IPP\5.3.2.073\ia32\tools\env\ippenv.bat"

cd d:\TFS\SWSS\dev\SWSS
d:
"C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\devenv" /useenv SpeakerSeparation.sln /rebuild

any thoughts?

4 Beiträge / 0 neu
Letzter Beitrag
Nähere Informationen zur Compiler-Optimierung finden Sie in unserem Optimierungshinweis.

Hi ,

      This symbol is been defined in "libirc.lib" , So please check if the compiler is trying to link this lib and also if this lib is been linked from the New composer Update that you have installed. You can also refer to this article:- http://software.intel.com/en-us/articles/unresolved-external-symbol-_intel_sse2_strlen.

In order to find out which libs are being searched, You can use the LINKER option "/VERBOSE:Lib" with linker xilink.exe. If this library is not being LINKED or if its being linked to the older libirc.lib, then you may need to pass the path of the library to the linker using /link option of compiler.

Regards,

Sukruth H V

 

Bild des Benutzers Jennifer J. (Intel)

did you follow the suggestion from Sukruth on finding why the old lib is linked?
From your script that you're using an old Intel IPP lib. can you use the Intel IPP coming with Intel C++ Composer XE?
if so, the script can be simplified like:
     "C:\Program Files (x86)\Intel\Composer XE 2013\bin\ipsxe-comp-vars.bat" ia32 vs2008

i ended up directly refering the linker to this dll

The problem was i need to use IPP 5.3 and not ipp 7 with the intel compiler 

Melden Sie sich an, um einen Kommentar zu hinterlassen.