首页 > 系统相关 >linux下常见的环境变量对应的目录

linux下常见的环境变量对应的目录

时间:2024-09-26 17:50:10浏览次数:7  
标签:环境变量 路径 目录 编译 PKG linux CONFIG 连接

  • ACLOCAL:在GNU automake套件中起作用。对应各个软件里的share/aclocal目录
  • PATH:可执行程序的目录。
  • PKG_CONFIG_PATH,作用见后文,对应软件里的lib/pkgconfigshare/pkgconfig目录
  • LD_LIBRARY_PATH:主要是用于指定动态链接器(ld)查找ELF可执行文件运行时所依赖的动态库(so)的路径。
  • 即用于在程序运行期间查找动态链接库时,指定除了系统默认路径(/usr/lib)之外的路径。对应lib目录
  • LIBRARY_PATH:在程序编译期间查找动态链接库时指定的查找共享库的路径。指定gcc编译需要链接动态链接库的目录。

PKG-CONFIG用来检索系统中安装库文件的信息。典型的是用作库的编译和连接。
一般来说,如果库的头文件不在/usr/include目录中,那么在编译的时候需要用-I参数指定其路径。
由于同一个库在不同系统上可能位于不同的目录下,用户安装库的时候也可以将库安装在不同的目录下,
所以即使使用同一个库,由于库的路径的不同,
造成了用-I参数指定的头文件的路径和在连接时使用-L参数指定lib库的路径都可能不同,
其结果就是造成了编译命令界面的不统一。可能由于编译,连接的不一致,
造成同一份程序从一台机器copy到另一台机器时就可能会出现问题。

PKG-CONFIG就是用来解决编译连接界面不统一问题的一个工具。
它的基本思想:PKG-CONFIG是通过库提供的一个.pc文件获得库的各种必要信息,
包括版本信息、编译和连接需要的参数等。
需要的时候可以通过pkg-config提供的参数(–cflags, –libs),将所需信息提取出来供编译和连接使用。
这样,不管库文件安装在哪,通过库对应的.pc文件就可以准确定位,
可以使用相同的编译和连接命令,使得编译和连接界面统一。

它提供的主要功能有:

<1> 检查库的版本号。如果所需库的版本不满足要求,打印出错误信息,避免连接错误版本的库文件。
<2> 获得编译预处理参数,如宏定义,头文件的路径。
<3> 获得编译参数,如库及其依赖的其他库的位置,文件名及其他一些连接参数。
<4> 自动加入所依赖的其他库的设置。

参考文献

【Linux】PKG_CONFIG_PATH: https://blog.csdn.net/qq_36182852/article/details/109680418

标签:环境变量,路径,目录,编译,PKG,linux,CONFIG,连接
From: https://www.cnblogs.com/mitnick/p/18433980

相关文章

  • Linux服务器运维管理面板1Panel快速安装及安全配置
    1Panel是一个现代化、开源的Linux服务器运维管理面板,旨在帮助运维人员简化服务器管理任务。它提供了直观的界面和强大的功能,使用户可以通过图形化操作界面对服务器进行管理,减少了对命令行的依赖。1Panel支持多种操作系统,适用于Linux服务器,提供了如网站管理、数据库管理、安......
  • fmql之linux启动文件大小
    想要从flash启动linux,但是flash同时也要存储数据,所以看看启动文件占多大内存。本是基于“fmql之ubuntu移植”的基础上继续进行的:fmql之ubuntu移植-CSDN博客目的:flash放启动文件,ubuntu18放到SD卡,且自启动。 NOW:flash可以烧写BOOT.bin,image.ub和ubuntu放到SD卡,MIO配置......
  • Linux卸载
    在Linux系统中,卸载应用程序的方法取决于你所使用的发行版和包管理器。以下是一些常见的包管理器和它们的卸载命令:###1.使用`apt`(适用于Debian、Ubuntu及其衍生发行版)```bashsudoaptremovepackage_name```这个命令会卸载指定的包,但不会删除与之相关的配置文件。如果你想......
  • linux常用命令
    cpcp-rdir1dir2 表示将dir1及其dir1下所包含的文件复制到dir2下rmrm-rf文件夹名删除目录下所有文件文件夹grepgrep:grep命令的全称是"GlobalRegularExpressionPrint"。它是一个在类Unix系统中用于搜索文本文件中匹配正则表达式的行的工具。基本用法:grep[op......
  • 腾讯通RTX手机版解决方案:兼容Linux内核信创国产操作系统
    一、腾讯通RTX继续使用的核心痛点自从腾讯通RTX停止更新和官网下架以来,用户面临了一系列无法忽视的关键问题,这些问题严重影响了正常的工作流程:国产系统与移动端不可用:腾讯通RTX目前仅支持Windows和Mac系统,导致用户在国产操作系统及移动设备上无法使用,这不仅影响工作效率,还未能符合......
  • 学Linux多久可以学会?
    众所周知,Linux运维是当前非常热门的岗位之一,无论是薪资待遇还是未来几年的发展空间都十分乐观。而对于计划学习Linux技术的人来说,学费和周期是很多人关心的问题,那么学Linux培训多长时间?Linux培训费用多少?一起来看看吧。学Linux培训多长时间?Linux培训方式分为多种:脱......
  • 【项目案例】嵌入式Linux比较好的10+练手项目推荐,附项目文档/源码/视频
    后台私信小雯老师,回复“嵌入式Linux项目”,免费获取以下所有项目配套源码及文档。练手项目推荐 1 智能猫眼项目功能介绍:1.人脸识别:基于百度专业的深度学习算法和海量数据训练可进行人脸识别,轻松知晓访客身份;2.智能报警:实时检测非法闯入,可以自动布防,当触发警报时实时报警,最短时间......
  • 腾讯通RTX手机版解决方案:兼容Linux内核信创国产操作系统
    一、腾讯通RTX继续使用的核心痛点自从腾讯通RTX停止更新和官网下架以来,用户面临了一系列无法忽视的关键问题,这些问题严重影响了正常的工作流程:国产系统与移动端不可用:腾讯通RTX目前仅支持Windows和Mac系统,导致用户在国产操作系统及移动设备上无法使用,这不仅影响工作效率,还未能符......
  • Linux系统之温度监控工具——lm_sensors的安装和基本使用
    Linux系统之温度监控工具——lm_sensors的安装和基本使用一、lm_sensors介绍lm_sensors,是一款基于linux系统的硬件监控的软件。可以监控主板,CPU的工作电压,温度等数据。rpm包下载地址获取码2344:lm_sensors-3.4.0-6.20160601gitf9185e5.el7.x86_64.rpm二、检测安装环境1.检查......
  • Linux PAM简解
     懒得写,看下面的文档参考文档https://syxdevcode.github.io/2020/08/04/Linux%E4%B8%ADPAM%E6%A8%A1%E5%9D%97/ 有个插图不错  有个插图不错 写的很详细http://www.jinbuguo.com/linux/pam.html  写的也不错,特别是注意事项章节https://www.docs4dev.com/docs/zh/linux-pa......