【link】关于intel编译器编译库的链接的理解

Date: 2018.10.27


1、采用ICC编译成静态库时, demo链接(利用ICC)该静态库时,需要指定Intel链接选项–static-intel,用于静态地链接intel提供的库。
但是若采用GCC链接,需要提供这些intel的依赖库,才能正常链接。
2、采用ICC编译成动态库时(指定Intel链接选项–static-intel),demo链接该动态库时,可以直接正常链接。

说明:ICC编译动态库时,通过指定–static-intel选项将intel依赖库包含了进来。

3、linux下设置链接库方法

source /opt/intel/compilervars.sh ia32

4、在测试自己的库时发现:链接动态库所需要的intel依赖库和链接静态库所需要的intel依赖库是不一样的,但是包含的函数符号是一样的。
具体说明如下:
链接动态库所需要的Intel依赖库:
libimf.so, libsvml.so, libirng.so和libintlc.so.5

链接静态库所需要的intel依赖库:
libirc.a

注意:这个取决于自己的库中包含的头文件和使用的函数。


THE END!

原文地址:https://www.cnblogs.com/SoaringLee/p/10532311.html