Makefile编译选项:CFLAGS、LDFLAGS、LIBS

目录

一、CFLAGS

二、LDFLAGS

三、LIBS

四、参考资料


前言

本文只涉及cflags、ldflags、libs,关于makefile文件非常建议看看大神写的系列博客《跟我一起写Makefile》:

跟我一起写 Makefile(一)_haoel的博客-CSDN博客

一、CFLAGS

指定.h文件路径,如:CFLAGS=-I./include I../test/include。

CFLAGS表示用于C编译器的选项,CXXFLAGS表示用于C++编译器的选项

CFLAGS标志参数说明

类别

名称

说明

编译选项

-S

只是编译不汇编,生成汇编代码

-E

只进行预编译,不做其他处理

-g

在可执行程序中包含标准调试信息

-o file

把产生文件输出到file里去

-v

打印出编译器内部编译过程的命令行信息和编译器的版本

-I dir

在头文件搜索路径列表中添加dir目录

-L dir

在库文件的搜索路径列表中添加dir目录

告警和出错选项 -ansi 支持符合ANSI标准的C程序
-pedantic 允许发出ANSI C标准所列的全部警告信息
-pedantic -error 允许发出ANSI C标准所列的全部错误信息
-w 关闭所有告警
-Wall 允许发出gcc提供的所有有用的报警信息
-werror 把所有的告警信息转化为错误信息,并在告警发生时终止编译过程
优化选项 -On n是代表优化级别的整数
体系结构选项 -mcpu=type

针对不同的CPU使用相应的CPU指令。可选择的type有i386、i486、pentium及i686

-mieee-fp 使用IEEE标准进行浮点数的比较
-mno-ieee-fp 不使用IEEE标准进行浮点数的比较
-msoft-float 输出包含浮点库调用的目标代码
-mshort 把int类型作为16位处理,相当于short int
-mrtd 强行将函数参数个数固定的函数用ret NUM返回,节省调用函数的一条指令

二、LDFLAGS

编译器的优化参数,也可指定库文件位置,如:LDFLAGS=-L/usr/lib

三、LIBS

要链接的库文件,如:LIBS=-lpthread

四、参考资料

Makefile选项CFLAGS,LDFLAGS,LIBS - Taskiller - 博客园

CFLAGS详解_xinyuan0214的博客-CSDN博客_cflags编写makefile

你可能感兴趣的:(Linux,c++,linux,开发语言)