美文网首页
c++编译链接有关路径

c++编译链接有关路径

作者: pandazhong | 来源:发表于2018-11-08 13:40 被阅读0次

在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/"

相关文章

  • c++编译链接有关路径

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

  • so库加载原理

    有关编译时so库加载的内容: /etc/ld.so.conf 此文件记录了编译时使用的动态链接库的路径,更直白的说...

  • 【C++】gcc编译过程

    【C++】gcc编译过程 C++编译过程主要分为,预处理、编译、汇编、链接四个过程。如下图所示: 第一步:预处理 ...

  • python3 安装pyhanlp方法

    标签:文件链接路径链接http官方c++执行bspspa 直接pip install pyhanlp的时候会提示缺...

  • C/C++源代码到可执行程序的过程详解

    源代码-->编译预处理-->编译-->优化-->汇编-->链接-->可执行文件 1.编译预处理 读取c/c++源程...

  • C++调用matlab代码

    主要通过 mex将matlab代码编译成C/C++动态链接库(dll) 编写matlab函数 设置编译器 编译ma...

  • 文件IO,路径,在Windows和Linux的异同

    C++ 文件IO 路径 Windows Linux测试用系统及编译器:windows:windows10 & C-...

  • 有关C++语言基础的问题

    c/c++程序的编译过程(GCC的编译流程) 主要分为四个阶段:预处理,编译阶段,汇编阶段,链接阶段 当我们写好一...

  • C与C++混合链接静态库

    本次主要是将C++的静态库链接到一个C的静态库里。编译环境是 mingw。 一、x86环境 1、C++的静态库编译...

  • 2020-07-04 #ifdef __cplusplus ex

    1、声明链接规范混编C和C++是C++提供的功能,所以只能在C++代码中想办法。C++编译器允许在声明中带 ext...

网友评论

      本文标题:c++编译链接有关路径

      本文链接:https://www.haomeiwen.com/subject/sycwxqtx.html