下面是一些使用CFLAGS参数的示例: 1. 指定优化级别为-O2和警告级别为-Wall: CFLAGS=-O2 -Wall 2. 指定调试信息为-g和优化级别为-O1: CFLAGS=-g -O1 3. 指定调试信息为-ggdb和警告级别为-Werror: CFLAGS=-ggdb -Werror 4. 指定include路径为/usr/include和定义宏DEBUG: CFLAGS=-I/usr/include -DDEBUG...
5、-D 增加全局宏定义 6、-ffast-math 浮点优化选项 -ffast-math:极大地提高浮点运算速度 7、-mfloat-abi=softfp 浮点运算
GCC编译选项CFLAGS参数 例子 KBUILD_CFLAGS := -Wall -Wundef -Werror=strict-prototypes -Wno-trigraphs \-fno-strict-aliasing -fno-common -fshort-wchar -fno-PIE \-Werror=implicit-function-declaration -Werror=implicit-int\-Werror=return-type -Wno-format \-std=gnu89 GCC链接选项LDFLAGS参数 LIBS L...
在makefile里定义为:CONFIG_DEBUG=y 假如说我们想在makefile里为.c文件进入一个宏定义,就用EXTRA_CFLAGS += DCONFIG_DEBUG( 等价于在.c文件里定义#define CONFIG_DEBUG) 这时CONFIG_DEBUG=y与EXTRA_CFLAGS += DCONFIG_DEBUG的区别应该你已经看出来的,前者是对makefile编译时用的,比如说obj-(CONFIG_DEBUG) +...
CFLAGS -D*表示:#define*-Wall表示打开所有编译告警信息-O2表示优化级别。-Wl,-rpath,./为传递给连接器的选项,表示程序执行时的库加载路径 Gcc总体选项列表 后缀名-S-E-g-ofile-v-Idir-Ldir-static-llibrary Gcc总体选项列表 选项-ansi-pedantic-pedantic-error-w-Wall-werror Gcc总体选项列表 选项-mcpu=...
在使用 configure 进行交叉编译的时候,要指定交叉编译工具链。同时可能要指定一些参数交叉编译的参数。 例如 常见的Makfile 文件 CC=arm-poky-linux-gnueabi-gcc OTHER_HEADERS=../../mjpg_streamer.h ../../utils.h ../output.h ../input.h CFLAGS+=-O1-DLINUX-D_GNU_SOURCE-Wall-shared-fPIC ...
)set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -DDEBUG")set(CMAKE_CXX_FLAGS_Release "${CMAKE_CXX_FLAGS_Release} -DNDBUG")2. 区分 Debug mkdir debug cd debug cmake -DCMAKE_BUILD_TYPE=Debug ..make Release mkdir release cd release cmake -DCMAKE_BUILD_TYPE=Release ..make ...
就是编译时把后面的参数添加到编译选项里,比如CFLAGS += -DTOSH_DATA_LENGTH=114 最后就类似调用gcc -DTOSH_DATA_LENGTH=114 xx.c 而-D是用来定义宏的,这应该知道吧?就是代码里#define那个
各位看官,你看这不就是我们用gcc编译连接时CFLAGS的参数吗? 因此当我们需要编译连接某个库时,我们只需要把上面那行加入gcc 的参数里面即可。 这也是configure的作用,它会检查你需要的包,产生相应的信息。 那pkg-config从哪儿知道这些信息的呢?它是从包名为xxx.pc这个文件中查找到的。拿上面那个例子说,它是从open...