linux命令学习:PATH and LDFLAGS and CFLAGS

news/2024/7/7 20:43:32

CFLAGS 表示用于 C 编译器的选项,
CXXFLAGS 表示用于 C++ 编译器的选项。
这两个变量实际上涵盖了编译和汇编两个步骤。

先来看几个相关的环境变量:PATH、LDFLAGS、CFLAGS
PATH:大家应该都很熟悉。安装一个包后可能会在安装目录建立一个bin目录,里面都是些可执行程序,为了让系统能找到这些程序,就需要我们把该路径加入到PATH环境变量中。下面会讲到如何加入。
LDFLAGS:gcc等编译器会用到的一些优化参数,也可以在里面指定库文件的位置。用法:LDFLAGS=“-L/usr/lib -L/path/to/your/lib”。每安装一个包都几乎一定的会在安装目录里建立一个lib目录。如果你明明安装了某个包,而安装另一个包时,它愣是说找不到,那就把那个包的lib路径加入的LDFALGS中试一下吧。
CFLAGS:和LDFLAGS类似,只不过要向里加如的是头文件(.h文件)的路径,如:CFLAGS=“-I/usr/include -I/path/to/your/include”。同样地,安装一个包时会在安装路径下建立一个include目录,当安装过程中出现问题时,试着把以前安装的包的include目录加入到该变量中来。
那如何在那些变量中加入这些路径呢?以PATH变量为例。
一种方法是:直接在命令行下:
$ PATH="$PATH:/path/to/your/bin:/another/path/to/bin"
$ export PATH
这种方法的好处是方便,立即生效,缺点是把当前会话或shell关了之后就失效了,下次还得运行一遍。
另一种方法是:把下面的两行内容加入到~/.bashrc文件中,如果想让其影响到整个系统而不仅仅是当前用户,就把下面的内容加入到/etc/bash.bashrc(记得有的系统是/etc/bashrc这个文件)


PATH and LDFLAGS and CFLAGS - Bob - 黄宝的博客PATH="$PATH:/path/to/your/bin:/another/path/to/bin"
PATH and LDFLAGS and CFLAGS - Bob - 黄宝的博客export PATH

然后,重新启动shell即可。
需要注意的是,PATH变量的分隔符是:号,其他的是空格,
所以LDFLAGS应该是这样:
LDFLAGS=“$LDFLAGS -L/path/to/lib -L/path/to/lib”
CFLAGS应该是这样:
CFLAGS=“$CFLAGS -I/path/to/iclude -I/path/to/include”

引用:http://zhuairlunjj.blog.163.com/blog/static/8005094520101113112810878/?fromdm&fromSearch&isFromSearchEngine=yes

http://lamp.linux.gov.cn/Linux/inside_config_compile_install.html


http://www.niftyadmin.cn/n/2278879.html

相关文章

VMware上Ubuntu10.04设置静态IP地址

用VMware上的Virtual Network Editor来查看虚拟机的联网。之后在物理主机上把VMware Network Adapter VMnet1的IP和DNS都设置为自动获取。VMware Network Adapter VMnet8的IP和DNS也设置为自动获取。之后重启虚拟机。 打开终端输入: sudo gedit /etc/network/interf…

ubuntu 10.04桌面不见了 鼠标右键也失效

方法一: 直接按 Alt F2,然后在出来的对话框中输入 gnome-terminal , 回车执行 弹出命令行终端,或者 Ctrl Alt T 弹出命令行终端 打开终端 ,终端窗口打开之后 ,输入下列命令: gconftool --recursive-unset /apps…

Ubuntu环境变量配置文件简介

Ubuntu环境变量配置文件简介 在Ubuntu中有如下几个文件可以设置环境变量 /etc/profile:在登录时,操作系统定制用户环境时使用的第一个文件,此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行。 /etc/environment:在登录时操作系统使用的第二个文件,系统在读…

Weblogic应用程序部署指南

Weblogic应用程序部署指南 博客分类: Weblogic应用程序部署指南 1.1 部署JAVA EE应用程序 将编译好的Web应用程序复制到WebLogic的服务器目录下。例如路径D:\bea10\user_projects\domains\base_domain\autodeploy; 这样,当启动WebLo…

Liunx下用C语言实现MQTT的接收与发送(上)

最近,笔者在倒腾MQTT相关的东西,但是不过基本上都是在mqttfx上玩的,因此呢,现在笔者需要在Liunx下实现MQTT数据的收发问题了。python实现挺方便的,后续可以重新补写一篇。本篇呢就分享一下用C语言实现的亲测可行的办法…

Jetson Nano 入坑之路 ---- (10)C/C++语言读写UART或USB串口数据

在上一篇“Jetson Nano 入坑之路 ”系列博客中笔者讲到笔者封装的一个串口函数,本篇博客,笔者会简单易懂的讲解C语言读写串口的方法。 优化:其他博主的博客在这个串口部分大部分都有个问题,就是十六进制读取的时候,会…

Liunx下用C语言实现MQTT的接收与发送(下)

继续上一篇关于MQTT的话题,本篇呢,我们将脱离paho的库环境,进行MQTT搭建。 环境准备 在paho.mqtt库中,简单翻阅一下,可以看到他的核心库的路径为 paho.mqtt.c-1.3.0\src 经过笔者的手撕源码,排除掉了许多…

Liunx下用C++实现MQTT的接收与发送

继续上次《Liunx下用C语言实现MQTT的接收与发送(上)(下)》,本人探寻了如何基于paho.mqtt.c库开发C版本的MQTT。事实上,paho官网有paho.mqtt.c库,不过笔者进去后玩不怎么转,可能是笔者…