选项 -fmulti-version-lib=

说明

该选项为链接时选项,与-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