该选项为链接时选项,与-flto结合使用,用于LTO链接时指示传入的库为多版本的LTO格式,需要编译器切换旧版本的LTO形式读取 (目前支持openEuler 2403 SP1、openEuler 2409 编译的LTO格式),用于兼容不同LTO的静态库或目标文件进行融合链接及优化编译。
在选项中加入,如传入多个文件名通过逗号隔开:
1 | -flto -fmulti-version-lib=liba.a,libb.a |
举例:
1 2 3 4 5 6 | # gcc for openEuler 24.09 gcc -O2 -fPIC -flto -c fa.c -o fa.o gcc-ar rcs liba.a fa.o # gcc for openEuler latest gcc -O2 -fPIC -flto -fmulti-version-lib=liba.a main.c liba.a -o exe |