Qt项目使用到的基础库迎来重大更新,最近在项目里面集成。搞了几天,将一些笔记整理如下。
1.LD_LIBRARY_PATH环境变量 和 LIBS关键字
Linux环境变量LD_LIBRARY_PATH & Qt的pro文件中的LIBS关键字的区别。弄清概念的关键是区分“编译时”和“运行时”。
LD_LIBRARY_PATH环境变量:由程序使用,它指定了程序在运行时会去何处寻找动态链接库(除默认路径外)。- qmake中的
LIBS关键字:由编译器使用,它指定了编译程序时,需要链接的具体的库。 - 此外还有
LIBRARY_PATH环境变量:由编译器使用,它指定了编译程序时会去何处寻找动态链接库(除默认路径外)。
编译通过,运行时报xxx: error while loading shared libraries: libc.so.6: cannot open shared object file: No such file or directory。是因为没有指定把库路径指定到LD_LIBRARY_PATH中,导致运行时找不到库
扩展阅读:
[1] linux下ld链接器链接的路径顺序: 【man ld】The linker uses the following search paths to locate required shared libraries
1、编译目标代

这篇笔记详细介绍了在Qt项目中遇到的环境变量与qmake关键字的区别,以及Linux环境下动态链接库的搜索路径。内容涵盖ldd、nm、strings等工具的使用,还提及了libstdc++.so与GLIBCXX符号的作用,并简单探讨了llvm和mesa在图形API中的角色。
最低0.47元/天 解锁文章
1324

被折叠的 条评论
为什么被折叠?



