libmkl_intel_thread.so中对部分函数未定义的引用

问题
在编译bdf的时候出现了如下错误

/home/js/Documents/tool/intel2013/mkl/lib/intel64/libmkl_intel_thread.so:对‘omp_get_nested’未定义的引用
/home/js/Documents/tool/intel2013/mkl/lib/intel64/libmkl_intel_thread.so:对‘__kmpc_end_critical’未定义的引用
/home/js/Documents/tool/intel2013/mkl/lib/intel64/libmkl_intel_thread.so:对‘__kmpc_for_static_init_8’未定义的引用
/home/js/Documents/tool/intel2013/mkl/lib/intel64/libmkl_intel_thread.so:对‘__kmpc_atomic_float8_add’未定义的引用
/home/js/Documents/tool/intel2013/mkl/lib/intel64/libmkl_intel_thread.so:对‘__kmpc_dispatch_next_4’未定义的引用
/home/js/Documents/tool/intel2013/mkl/lib/intel64/libmkl_intel_thread.so:对‘__kmpc_master’未定义的引用
/home/js/Documents/tool/intel2013/mkl/lib/intel64/libmkl_intel_thread.so:对‘__kmpc_for_static_fini’未定义的引用
/home/js/Documents/tool/intel2013/mkl/lib/intel64/libmkl_intel_thread.so:对‘__kmpc_flush’未定义的引用
/home/js/Documents/tool/intel2013/mkl/lib/intel64/libmkl_intel_thread.so:对‘__kmpc_for_static_init_8u’未定义的引用
/home/js/Documents/tool/intel2013/mkl/lib/intel64/libmkl_intel_thread.so:对‘__kmpc_for_static_init_4’未定义的引用
/home/js/Documents/tool/intel2013/mkl/lib/intel64/libmkl_intel_thread.so:对‘__kmpc_fork_call’未定义的引用
/home/js/Documents/tool/intel2013/mkl/lib/intel64/libmkl_intel_thread.so:对‘__kmpc_dispatch_next_8’未定义的引用
/home/js/Documents/tool/intel2013/mkl/lib/intel64/libmkl_intel_thread.so:对‘__kmpc_push_num_threads’未定义的引用
/home/js/Documents/tool/intel2013/mkl/lib/intel64/libmkl_intel_thread.so:对‘omp_get_num_procs’未定义的引用
/home/js/Documents/tool/intel2013/mkl/lib/intel64/libmkl_intel_thread.so:对‘__kmpc_ordered’未定义的引用
/home/js/Documents/tool/intel2013/mkl/lib/intel64/libmkl_intel_thread.so:对‘__kmpc_barrier’未定义的引用
/home/js/Documents/tool/intel2013/mkl/lib/intel64/libmkl_intel_thread.so:对‘__kmpc_atomic_cmplx8_add’未定义的引用
/home/js/Documents/tool/intel2013/mkl/lib/intel64/libmkl_intel_thread.so:对‘__kmpc_dispatch_fini_4’未定义的引用
/home/js/Documents/tool/intel2013/mkl/lib/intel64/libmkl_intel_thread.so:对‘__kmpc_global_thread_num’未定义的引用
/home/js/Documents/tool/intel2013/mkl/lib/intel64/libmkl_intel_thread.so:对‘__kmpc_dispatch_init_4’未定义的引用
/home/js/Documents/tool/intel2013/mkl/lib/intel64/libmkl_intel_thread.so:对‘omp_get_max_threads’未定义的引用
/home/js/Documents/tool/intel2013/mkl/lib/intel64/libmkl_intel_thread.so:对‘__kmpc_critical’未定义的引用
/home/js/Documents/tool/intel2013/mkl/lib/intel64/libmkl_intel_thread.so:对‘__kmpc_end_serialized_parallel’未定义的引用
/home/js/Documents/tool/intel2013/mkl/lib/intel64/libmkl_intel_thread.so:对‘__kmpc_reduce_nowait’未定义的引用
/home/js/Documents/tool/intel2013/mkl/lib/intel64/libmkl_intel_thread.so:对‘__kmpc_end_master’未定义的引用
/home/js/Documents/tool/intel2013/mkl/lib/intel64/libmkl_intel_thread.so:对‘__kmpc_single’未定义的引用
/home/js/Documents/tool/intel2013/mkl/lib/intel64/libmkl_intel_thread.so:对‘ompc_set_nested’未定义的引用
/home/js/Documents/tool/intel2013/mkl/lib/intel64/libmkl_intel_thread.so:对‘__kmpc_dispatch_fini_8’未定义的引用
/home/js/Documents/tool/intel2013/mkl/lib/intel64/libmkl_intel_thread.so:对‘omp_in_parallel’未定义的引用
/home/js/Documents/tool/intel2013/mkl/lib/intel64/libmkl_intel_thread.so:对‘__kmpc_dispatch_init_8’未定义的引用
/home/js/Documents/tool/intel2013/mkl/lib/intel64/libmkl_intel_thread.so:对‘__kmpc_atomic_fixed8_add’未定义的引用
/home/js/Documents/tool/intel2013/mkl/lib/intel64/libmkl_intel_thread.so:对‘__kmpc_atomic_cmplx4_add’未定义的引用
/home/js/Documents/tool/intel2013/mkl/lib/intel64/libmkl_intel_thread.so:对‘__kmpc_ok_to_fork’未定义的引用
/home/js/Documents/tool/intel2013/mkl/lib/intel64/libmkl_intel_thread.so:对‘__kmpc_end_single’未定义的引用
/home/js/Documents/tool/intel2013/mkl/lib/intel64/libmkl_intel_thread.so:对‘omp_get_thread_num’未定义的引用
/home/js/Documents/tool/intel2013/mkl/lib/intel64/libmkl_intel_thread.so:对‘__kmpc_end_ordered’未定义的引用
/home/js/Documents/tool/intel2013/mkl/lib/intel64/libmkl_intel_thread.so:对‘__kmpc_end_reduce_nowait’未定义的引用
/home/js/Documents/tool/intel2013/mkl/lib/intel64/libmkl_intel_thread.so:对‘__kmpc_serialized_parallel’未定义的引用
/home/js/Documents/tool/intel2013/mkl/lib/intel64/libmkl_intel_thread.so:对‘__kmpc_atomic_float4_add’未定义的引用
/home/js/Documents/tool/intel2013/mkl/lib/intel64/libmkl_intel_thread.so:对‘omp_get_num_threads’未定义的引用

解答
在网上找到了解决的方法
在makefile文件中修改对数学库的搜索,添加-lpthread -liomp5

export MATHLIB="-L/home/js/Documents/tool/intel2013/mkl/lib/intel64 -lpthread -liomp5 -lmkl_intel_ilp64 -lmkl_intel_thread -lmkl_core -lpthread"

贴上找到答案的地方,感谢网上的各位老师
http://muchong.com/html/201406/7571605_2.html

猜你喜欢

转载自blog.csdn.net/jslove1997/article/details/80203344