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

#### 说明

该选项为链接时选项，需与-flto配合使用，用于在LTO（链接时优化）过程中，指示编译器当前传入的库文件采用多版本LTO格式，并触发编译器切换至旧版LTO解析模式读取（当前已适配openEuler 2403 SP1、openEuler 2409版本编译生成的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
```
