我安装的路径不是/usr,所以遇到了一些问题。下面就讲一下解决办法。
先来看几个相关的环境变量: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="$PATH:/path/to/your/bin:/another/path/to/bin"
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”

转载于:https://blog.51cto.com/huangbao/152697

PATH and LDFLAGS and CFLAGS相关推荐

  1. makefile的选项CFLAGS和LDFLAGS

    CFLAGS 表示用于 C 编译器的选项, CXXFLAGS 表示用于 C++ 编译器的选项. 这两个变量实际上涵盖了编译和汇编两个步骤. 先来看几个相关的环境变量:PATH.LDFLAGS.CFLA ...

  2. makfile的编译选项:CFLAGS、CPPFLAGS、LDFLAGS、LIBS

    1.LDFLAGS & LIBS 关于makefile的依赖规则以及目标生成的步骤,这篇先不介绍,这里主要关注我在看makefile时遇到的一堆CFLAGS与LDFLAGS定义进行说明. 费了 ...

  3. JSON文件学习(jsonc、json-c)(不要学这个,去学cJSON)

    json-c从会使用到自实现 json-c和jsoncpp的api使用教程(附视频链接) 文章目录 json-c和jsoncpp的api使用教程(附视频链接) 1.json的介绍 2.json格式的实 ...

  4. Linux下Makefile学习笔记

    makefile 可以用于编译和执行多个C/C++源文件和头文件. (1) #include "file.h" 和 #include <file.h> 的区别 #inc ...

  5. 解决Ubuntu16.04 fatal error: json/json.h: No such file or directory

    参考博客 错误产生 安装json-c库之后,根据GitHub上面的readme文件链接到json-c库时出现以下错误: SDMBNJson.h:9:23: fatal error: json/json ...

  6. zynq linux opencv效率,2 - 基于ZYNQ7000的交叉编译工具链Qt+OpenCV+ffmpeg等库支持总结

    可以通过输入echo $PATH命令检查环境变量是否设置正确,如下图: 可以,编译C文件进行测试, 使用gedit在任意目录下编辑hello.c文件如图所示,保存后进入终端. 以root身份进入到当前 ...

  7. makefile文件解释

    makefile文件解释 makefile文件 详细解释 makefile文件 CC = g++PROGRAM = ubuntuopenglSRC = $(wildcard ./*.cpp)OBJEC ...

  8. Makefile自动搜所目录及子目录下的的所有文件、自动生成编译目录

    内容概要 〇.背景 一.需求描述 二.解决方案 三.Makefile编写 3.1 根目录下的Makefile编写 3.2 myMath和myRecord目录下的Makefile编写 3.3 myStr ...

  9. 我见过最全的剖析QEMU原理的文章[Z]

    转自: http://people.cs.nctu.edu.tw/~chenwj/dokuwiki/doku.php?id=qemu How To Become A Hacker 写给新手程序员的一封 ...

最新文章

  1. HDOJ(1115)多边形重心
  2. 「译文」你必须掌握的 7 种 JavaScript 错误类型
  3. s:TextInput优化
  4. Ubuntu 11.10 快捷键 gnome gFTP 服务器 vsftpd 程序 面板
  5. Python List sort方法无效
  6. linux python守护进程编写
  7. Python教学视频(五)顺序结构练习
  8. 终于,手把手教会 HR 实现 Python + Excel 「邮件自动化」发工资条了
  9. MATLAB图像处理基本函数
  10. php 导出的excel 科学计数法显示处理(记笔记)
  11. 西班牙出差见闻之一(出发)
  12. Centos 6.5安装最新版谷歌浏览器-Chrome
  13. 独孤九剑之SQL调优
  14. Non-UTF-8 code starting with ‘\xb5‘ in file D:\eclipse\Python\test\__init__.
  15. js月份的计算公式_JS获取指定月份的天数几种方法
  16. 文件校验工具HashTab
  17. Spring MVC过滤器-超类 GenericFilterBean
  18. 可伸缩服务架构:框架与中间件
  19. 数字音频芯片--Digilent 公司PmodI2S芯片控制
  20. python计算平均分_自动计算平均学分绩点的Python实现

热门文章

  1. 引入dubbo依赖的版本是多少_Dubbo 项目学习(四) 接口抽取以及依赖版本统一
  2. 窗体 局部变量转换为全局_从嵌入式编程中感悟「栈」为何方神圣?
  3. xmind怎么在左边创建_个人怎么做微信小程序商城
  4. layui表单mysql_layui表单验证支持select下拉框的一种方法
  5. php要输出为空值怎么写,thinkphp3.0基础模板引擎变量为空时输出默认值
  6. Kubernetes APIServer机制概述
  7. Python3+WebSockets实现WebSocket通信
  8. lib和dll的区别、生成以及使用详解
  9. 《剑指offer》非递归法判定二叉树是否是对称的
  10. TensorFlow学习笔记(二十) tensorflow实现简单三层网络