Undefined reference to intel functions

Undefined reference to intel functions

Hi,

When I'm trying to compile my code with optimization options(-On, -fast) i receive this messages:

some_source.cpp:(.text+0x196b): undefined reference to `__intel_sse2_strlen'
some_source.cpp:(.text+0x199d): undefined reference to `__intel_sse2_strcpy'
some_object.o: In function `SomeFunction(void*)':
some_source.cpp:(.text+0x1c9f): undefined reference to `__intel_sse2_strlen'
some_source.cpp:(.text+0x1cce): undefined reference to `__intel_sse2_strlen'
some_source.cpp:(.text+0x1d00): undefined reference to `__intel_sse2_strcpy'
some_source.cpp:(.text+0x1d31): undefined reference to `__intel_sse2_strcat'
some_object.o: In function `SomeFunctionTwo(std::string&)':
some_source.cpp:(.text+0x1ea5): undefined reference to `__intel_sse2_strlen'
some_source.o: In function `CPlatformUtils::IsDirectory(void*)':
some_source.cpp:(.text+0x2836): undefined reference to `__intel_sse2_strlen'
some_source.cpp:(.text+0x2866): undefined reference to `__intel_sse2_strlen'
some_source.cpp:(.text+0x289a): undefined reference to `__intel_sse2_strcpy'
some_source.cpp:(.text+0x28cd): undefined reference to `__intel_sse2_strcat'
some_source.o: In function `SomeFunctionThree(void*)':
some_source.cpp:(.text+0x292d): undefined reference to `__intel_sse2_strlen'
some_source.o: In function `SomeFunctionFour(void*&)':
some_source.cpp:(.text+0x2a04): undefined reference to `__intel_sse2_strncpy'
some_source.cpp:(.text+0x2a88): undefined reference to `__intel_sse2_strlen'
some_source.cpp:(.text+0x2ab6): undefined reference to `__intel_sse2_strlen'
some_source.cpp:(.text+0x2ae8): undefined reference to `__intel_sse2_strcpy'
some_source.cpp:(.text+0x2b19): undefined reference to `__intel_sse2_strcat'
some_source.o: In function `SomeFunctionFive(std::string const&)':
some_source.cpp:(.text+0x2d83): undefined reference to `__intel_sse2_strlen'
some_source.cpp:(.text+0x2db9): undefined reference to `__intel_sse2_strcpy'

Without optimization it works good. Can anyone explain me this?

 

3 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

There have been past compiler releases which mistakenly omitted the SSE2 support library which would be needed when you don't specify an architecture such as -msse3 when compiling some_source.  When everything is correctly configured (setting environment variables by sourceing compilervars....), and you don't mix incompatible versions of icpc, icpc with consistent architecture flags would search the necessary libraries when linking.  Of course, you will need the same LD_LIBRARY_PATH setting at run time as well.

Leave a Comment

Please sign in to add a comment. Not a member? Join today