首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >gcc版本9中libm.a的全路径

gcc版本9中libm.a的全路径
EN

Unix & Linux用户
提问于 2022-07-07 15:38:45
回答 1查看 485关注 0票数 0

基于此:https://stackoverflow.com/questions/5925678/location-of-c-standard-library

gcc -打印-文件名=libm.a

返回:

/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libm.a

但是我找不到它。在当前目录(/usr/lib/gcc/x86_64-linux-gnu/9)中:我执行ls命令,返回以下命令:

代码语言:javascript
复制
cc1          crtfastmath.o      finclude           libcaf_single.a  libgfortran.spec  liblsan.so              libobjc_gc.so       libsupc++.a
cc1plus      crtoffloadbegin.o  include            libcc1.so        libgomp.a         liblsan_preinit.o       libquadmath.a       libtsan.a
collect2     crtoffloadend.o    libasan.a          libgcc.a         libgomp.so        liblto_plugin.so        libquadmath.so      libtsan.so
crtbegin.o   crtoffloadtable.o  libasan.so         libgcc_eh.a      libgomp.spec      liblto_plugin.so.0      libsanitizer.spec   libubsan.a
crtbeginS.o  crtprec32.o        libasan_preinit.o  libgcc_s.so      libitm.a          liblto_plugin.so.0.0.0  libssp_nonshared.a  libubsan.so
crtbeginT.o  crtprec64.o        libatomic.a        libgcov.a        libitm.so         libobjc.a               libstdc++.a         lto-wrapper
crtend.o     crtprec80.o        libatomic.so       libgfortran.a    libitm.spec       libobjc.so              libstdc++.so        lto1
crtendS.o    f951               libbacktrace.a     libgfortran.so   liblsan.a         libobjc_gc.a            libstdc++fs.a       plugin

只有finclude,include,plugin是目录。我已经查过libm.a不在那里了。

为什么要麻烦呢?因为基于这个链接(https://www.linuxtopia.org/online_书籍/an_引言_至_gcc/gccintro_17.html),如果我找到了正确的libm.a完整路径,我应该能够执行以下命令。

代码语言:javascript
复制
gcc -Wall calc.c /usr/lib/libm.a -o calc

但是,下面的命令仍然有效。

代码语言:javascript
复制
gcc -Wall calc.c -lm -o calc
EN

回答 1

Unix & Linux用户

回答已采纳

发布于 2022-07-10 00:44:38

/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libm.a

gcc给您的文件名中的“./”表示您已进入父目录。

代码语言:javascript
复制
/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libm.a
= /usr/lib/gcc/x86_64-linux-gnu/../../x86_64-linux-gnu/libm.a
= /usr/lib/gcc/../x86_64-linux-gnu/libm.a
= /usr/lib/x86_64-linux-gnu/libm.a

因此,libm实际上位于/usr/lib/x86_64-linux-gnu/libm.a

票数 1
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/708997

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档