-I : 包含头文件路径(绝对路径、相对路径都可以) -O :优化选项,1-3,越高优先级越高 -L : 包含的库路径 -l :指定库名(如libxxx.so或libxxx/a,-lxxx) -o : 指定目标文件 -c :编译成.o文件 -g : 用于gdb调试,不加此选项不能gdb调试 -Wall : 显示更多的警告 -D :指定宏编译 -lstdc++ : 编译C++
sudo apt install libjasper-dev 报错. sudo apt install libjasper-dev 正在读取软件包列表... 完成 正在分析软件包的依赖关系树 正在读取状态信息... 完成 E: 无法定位软件包 libjasper-dev 解决方案: # 无法找到libjasper包,所以添加以下源 sudo add-apt-reposi
库问文件好处: 保密,便于分发部署 明明规则 linux下 libxxx.a 制作: gcc获得.文件 将.o文件打包 ar rcs libxxx.a xxx.o xxx.o -r 文件插入备存文件 -c 建立备存文件 -s 索引 示例: gcc -c add.c div.c head.h mult.c sub.c 编译并汇编但是不链接成可执行文件 head不需要编译 ,main
静态库与动态库 静态函数库一般扩展名为.a或.lib,这类的函数库通常名为libxxx.a或xxx.lib。这类库在编译的时候会直接整合到目标程序中,所以利用静态函数库编译成的文件会比较大,这类函数库最大的优点就是编译成功的可执行文件可以独立运行,而不再需要向外部要求读取函数库的内容
静态库 ar rcs libxxx.a xx1.o xx2.o 生成静态库 c 创建一个库 s 创建目标文件索引,在创建较大的库时,能加快时间 rablib libxxx.a 为库文件创建索引。 ar t libxxx.a 查看库文件内所含目标文件名字 ar -tv libxxx.a 查看库文件内所含目标文件,显示文件名、时间、大小 动态库 gcc