unresolved external symbol __intel_sse2_strncmp

unresolved external symbol __intel_sse2_strncmp

Hi,

What do I need to link with to clear this up? I also have an unresolved external symbol __intel_sse2_strcpy message when building my project. I am using VS 2010 and Intel Parallel Composer 2011 beta.

Cheers,
John

7 posts / novo 0
Último post
Para obter mais informações sobre otimizações de compiladores, consulte Aviso sobre otimizações.

The Intel Parallel Composer 2011's IDE integration should set the link dir already. The librarynames are embeded in the .obj file by default. So it should link fine.

But if you set "Omit Default Library Name" to "Yes" under Project Property -> C/C++ -> Advanced, you need to add the libraries explicitly.

For thisone: link with "libircmt.lib"
Check here for more info about all the libs provided in 11.1. It's similar for Composer 2011beta.

Jennifer

Hi John,

This should come from libirc.lib which should link in by default. Can you provide what compiler and linker options you are using, and if this is the 32-bit or 64-bit compiler?

Brandon Hewitt
Technical Consulting Engineer

For 1:1 technical support: http://premier.intel.com

Software Product Support info: http://www.intel.com/software/support

Hi Brandon,

I have not selected to ignor default libraries. I have tried to link with both "libirc.lib" and " libircmt.lib" by adding these to the "Additional Dependencies" linker option, but still get the same errors.

I am using the 64 bit compiler. compiler options are:

Optimization: /O3, /Ob2, /Oi, /Ot, /Qopt-matmul, /Qparallel, /Quse-intel-optimized-headers
Avanced: Omit Default Library Name = No

The command line is:

/I"..\..\SDK\Include" /Zi /nologo /W3 /O3 /Ob2 /Oi /Ot /Qopt-matmul /Qparallel /Quse-intel-optimized-headers /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "WM5_USE_DX9" /EHsc /MD /GS /Gy /fp:precise /QxSSE4.1 /Zc:wchar_t /Zc:forScope /Fp"_Output\VC90\Dx9Release\Castle.pch" /Fa"_Output\VC90\Dx9Release" /Fo"_Output\VC90\Dx9Release"

Linker command line:

/OUT:"_Output\VC90\Dx9Release\Castle.exe" /INCREMENTAL:NO /NOLOGO /LIBPATH:"..\..\SDK\Library\Release" "Wm5Core90.lib" "Wm5Mathematics90.lib" "Wm5Imagics90.lib" "Wm5Physics90.lib" "Wm5Dx9Graphics90.lib" "Wm5Dx9Applications90.lib" "d3d9.lib" "d3dx9.lib" "dxerr.lib" "libirc.lib" "kernel32.lib" "user32.lib" "gdi32.lib" "winspool.lib" "comdlg32.lib" "advapi32.lib" "shell32.lib" "ole32.lib" "oleaut32.lib" "uuid.lib" "odbc32.lib" "odbccp32.lib" "C:\Users\John\Documents\Visual Studio 2010\Projects\WildMagic5\SDK\Library\Release\Wm5Dx9Applications90.lib" /NODEFAULTLIB:"libcmt.lib" /MANIFEST /ManifestFile:"_Output\VC90\Dx9Release\Castle.exe.intermediate.manifest" /ALLOWISOLATION /MANIFESTUAC:"level='asInvoker' uiAccess='false'" /DEBUG /PDB:"C:\Users\John\Documents\Visual Studio 2010\Projects\WildMagic5\SampleGraphics\Castle\_Output\VC90\Dx9Release\Castle.pdb" /SUBSYSTEM:WINDOWS /OPT:REF /OPT:ICF /PGD:"C:\Users\John\Documents\Visual Studio 2010\Projects\WildMagic5\SampleGraphics\Castle\_Output\VC90\Dx9Release\Castle.pgd" /LTCG /TLBID:1 /ENTRY:"mainCRTStartup" /DYNAMICBASE /NXCOMPAT /MACHINE:X64

I am able to built the same project with exactly the same options under VS 2008 with no errors.

Thanks,
John

Could you post the exact error msg?

C:\Program Files\Intel\Parallel Studio 2011\Composer\compiler\lib\intel64
>>dumpbin /symbols libirc.lib|find /I "__intel_sse2_strncmp"
004 00000000 SECT1 notype () External | __intel_sse2_strncmp

Thanks,
Jennifer

Hi Jennifer,

This is the output:

C:\Program Files (x86)\Intel\Parallel Studio 2011\Composer\compiler\lib\intel64>
dumpbin /symbols libirc.lib|find /I "__intel_sse2_strncmp"
004 00000000 SECT1 notype () External | __intel_sse2_strncmp

My original "Parallel Studio" folder still exists. I think VS 2008 is still linking to this folder. This is the dumpbin output from "C:\Program Files (x86)\Intel\Parallel Studio\Composer\lib\intel64":

C:\Program Files (x86)\Intel\Parallel Studio\Composer\lib\intel64>
dumpbin /symbols libirc.lib|find /I "__intel_sse2_strncmp"

Hope this helps.

Thanks,
John

Looks like the libirc.lib from the old path "C:\Program Files (x86)\Intel\Parallel Studio\Composer\lib\intel64"is picked up at link-time.

So the solution would be to add the new lib dir in front of the old lib-dir.I thought that Composer 2011 beta can not coexist with the current Composer product.So it might be a bug for the installation.

Maybe it's better to cleanup the system. Let double check the coexistance and will get back to you soon.

Thanks,
Jennifer

Deixar um comentário

Faça login para adicionar um comentário. Não é membro? Inscreva-se hoje mesmo!