The ChipList, by Adrian Offerman; The Processor Portal

new
Processor Selector

Platform:
Segment:
View: show / edit

bookmark bookmark site
bookmark permalink
Mon 2 Mar 2009, 8:41

unresolved external symbol __libm_sse2


On Mon 2 Mar 2009, at 8:41, Intel Software Network Graphics Feed wrote:

unresolved external symbol __libm_sse2
Symptom(s):

When link with the static threaded version of IPP libraries, e.g ippiemergedem64t.lib ippimergedem64_t.lib.
receive the following error

ippimergedem64t_t.lib(piwarp_split_mx_ippiGetRotateShift.obj) : error LNK2019: unresolved external symbol __libm_sse2_sincos referenced in function mx_ippixxx

Cause:

The symbol is defined in Intel Math library libm*.lib provided by Intel® C++ Compiler. The Math library contains highly optimized mathematical functions, such as sin(), cos(). Some IPP functions depends on them.

Library Option Description
libm.lib Default static math library.
libmmt.lib /MT Multi-threaded static math library.
libmmd.lib /MD Dynamically linked math library.
libmmdd.lib /MDd Dynamically linked debug math library.
libmmds.lib Static version compiled with /MD option.

Solution:

Link the libmmt.lib in your application.

IPP bundle the library libmmt.lib/libm.lib in directory lib, by default they are in C:\Program Files\Intel\IPP\6.0.0.xx\[em64t|ia32]\lib.

Please note, we assume that the applicatoin is build with /MT option here. The Intel math library linked to an application depends on the compilation or linkage options specified. Refer to the above table.

Troubleshooting
After link libmmt.lib, a sequential error may appear:

libmmt.lib(libm_error.obj) : error LNK2019: unresolved external symbol _iob referenced in function write_message 

The symbol _iob is defined in MSVC static C run-time library libcmt.lib. When using IPP ...

ChipList news channel Last Months News


ChipList developers news channel Last Months Developers News


Page viewed 738 times since Mon 2 Mar 2009, 8:41.