---
title: 选项 -fmulti-version-lib=
description: "该选项为链接时选项，需与-flto配合使用，用于在LTO（链接时优化）过程中，指示编译器当前传入的库文件采用多版本LTO格式，并触发编译器切换至旧版LTO解析模式进行读取（当前已适配openEuler 24.03 LTS SP1及以后版本编译生成的LTO格式），从而实现不同LTO版本的静态库/目标文件的融合链接与优化编译。"
url: https://www.hikunpeng.com/document/detail/zh/kunpengdevps/compilation/ug-hgcc/kunpenghgcc_06_0057.html
sourcePath: /source/zh/kunpengdevps/compilation/ug-hgcc/kunpenghgcc_06_0057.html
indexId: 4925428d92fe6a54a5d9ea1e8ce50ef5466db7558c7dc6f2d878cce7a1f636ed68
---
# 选项 -fmulti-version-lib=<value>

#### 说明

该选项为链接时选项，需与-flto配合使用，用于在LTO（链接时优化）过程中，指示编译器当前传入的库文件采用多版本LTO格式，并触发编译器切换至旧版LTO解析模式进行读取（当前已适配openEuler 24.03 LTS SP1及以后版本编译生成的LTO格式），从而实现不同LTO版本的静态库/目标文件的融合链接与优化编译。


#### 使用方法

使用方法如下，如传入多个文件名需通过逗号隔开：

```
-flto -fmulti-version-lib=liba.a,libb.a
```

举例：

```
# 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
```
