zoukankan      html  css  js  c++  java
  • g++/gcc 链接头文件 库 PATH

    转自http://blog.csdn.net/kankan231/article/details/24243871

    在Linux下编译链接或运行c/c++程序时可能会遇到找不到头文件,找不到库文件的错误,简单总结一下这些错误的解决方法

    1,找不到头文件

    解决方法一:在编译时使用 -I 来指定头文件的路径,例如把头文件放在 /home/user/include/ 目录下,则在编译时加上 -I /home/user/include/ ,如有多个目录,可多次使用-I来指定

    解决方法二:将头文件的路径加入环境变量CPATH中,如 export CPATH=" /home/user/include/",也可以根据情况使用下面的三个环境变量:

    C_INCLUDE_PATH 编译C程序时使用的环境变量,用于查找头文件。

    CPLUS_INCLUDE_PATH 编译C++程序时使用的环境变量,用于查找头文件。

    OBJC_INCLUDE_PATH 编译Obj-C程序时使用的环境变量,用于查找头文件。

    CPATH 编译C/C++/Obj-C程序时使用的环境变量,用于查找头文件。

     

    2,链接时找不到库文件

    解决方法一:在链接时使用-L参数来指定库的路径,例如把某个自己制作的动态库放在/home/user/lib/目录下了,则链接程序时加上-L/home/user/lib/,同时可以使用-l来指定库的名称,如指定线程库:-lpthread

    解决方法二:把库文件放入系统的库文件目录下,如/lib,/usr/lib等,操作系统运行该程序时会自动到这些目录下找库文件

    解决方法三:把库文件所在的目录加入LIBRARY_PATH环境变量中,如 export LIBRARY_PATH=" /home/user/lib/"

     

    3,运行时找不到动态库

    解决方法一:把库文件放入系统的库文件目录下,如/lib,/usr/lib等

    解决方法二:把库文件所在的目录加入LD_LIBRARY_PATH环境变量中,如 export LD_LIBRARY_PATH=" /home/user/lib/"

  • 相关阅读:
    numpy基本使用2
    python 继承 多态
    动态规划算法题(5题)
    利用栈非递归实现块排
    数据结构
    对Node的优点和缺点提出了自己的看法?
    前后端交互流程,如何进行交互
    Web App、Hybrid App与Native App的设计差异
    什么叫优雅降级和渐进增强?
    常用博客
  • 原文地址:https://www.cnblogs.com/bubbler/p/4933853.html
Copyright © 2011-2022 走看看