我有链接错误,怀疑是由于 'libsimint.a' 引起的。
根据上面的理解(借助于nm手册),代码中提到了simint_copy_shell函数,但是__intel_ssse3_rep_memcpy在我们编译的另一个库中没有定义。有人能够验证这一点或者提供任何澄清吗?谢谢。
(我正在使用gcc编译和链接一个大型代码,该代码是用icpc编译的,但现在不再使用icpc了。)
Linker messages (if any) follow...
/home/.../simint/lib/libsimint.a(shell.c.o): In function `simint_copy_shell':
shell.c:(.text+0x126): undefined reference to `__intel_ssse3_rep_memcpy'
/home/.../simint/lib/libsimint.a(shell.c.o): In function`simint_normalize_shells':
shell.c:(.text+0x4e3): undefined reference to `__svml_pow4'
我尝试使用 nm 命令来搞清楚:
>> nm libsimint.a |grep __intel_ssse3_rep_memcpy
U __intel_ssse3_rep_memcpy
>> nm libsimint.a |grep simint_copy_shell
0000000000000090 T simint_copy_shell
根据上面的理解(借助于nm手册),代码中提到了simint_copy_shell函数,但是__intel_ssse3_rep_memcpy在我们编译的另一个库中没有定义。有人能够验证这一点或者提供任何澄清吗?谢谢。
(我正在使用gcc编译和链接一个大型代码,该代码是用icpc编译的,但现在不再使用icpc了。)
man nm
。 - Jesper Juhl