zoukankan      html  css  js  c++  java
  • g++ -I(大写i) 与-L(大写l)-l(小写l) 的作用与学习 使用静态库 编译的时候 需要加上 static

    linux 下 g++编译程序时,-I(大写i) 与-L(大写l)-l(小写l) 的作用

    作为一个linux入门级使用者,gcc/g++ 的简单操作已经用过多次, 但是有时稍微复杂一点的程序就会使用到库。在遇到问题的时候我查了挺多前辈总结的资料,也留个脚本希望对朋友们有个帮助。如果也能处理你的问题,我会感到很开心,嘻嘻。

    例如:libz.so

    g++ -o compress  compress.cpp  -I/home/include/  -L/lib/  -lz     //别忘记了小  l和z  l是指定库名

    (1) -I (大写i)

    编译程序按照-I指定的路进去搜索头文件。
    -I/home/include/表示将-I/home/include/目录作为第一个寻找头文件的目录,寻找的顺序是:
     /home/include/ -->/usr/include-->/usr/local/include

    (2)-L(大写l)

    表示:编译程序按照-L指定的路进去寻找库文件,一般的在-L的后面可以一次用-l指定多个库文件。
    -L/lib/表示到/lib/目录下找库文件

    (3)-l(小写l)

    表示:编译程序到系统默认路进搜索,如果找不到,到当前目录,如果当前目录找不到,则到LD_LIBRARY_PATH等环境变量置顶的路进去查找,如果还找不到,那么编译程序提示找不到库。
    本例子使用的是gunzip库,库文件名是libz.so,库名是z。很容易看出,把库文件名的头lib和尾.so去掉就是库名了。
  • 相关阅读:
    Class加载顺序
    Java中9大内置基本数据类型Class实例和数组的Class实例(转载)
    java配置日志总结
    Java格式化CST时间(mysql date类型)
    对称二叉树
    模拟--滑动窗口最大值
    group by两个条件
    P1996 约瑟夫问题
    C++命名空间、标准库(std,全局命名空间)
    java中引用对比C++指针
  • 原文地址:https://www.cnblogs.com/zhangkele/p/10043207.html
Copyright © 2011-2022 走看看