makefile 中定义宏位置需要注意一下

 1 CUR_DIR = $(shell pwd)
 2
 3 CFLAGS = -g -Wall
 4 GCC = gcc
 5 GXX = g++
 6
 7 TARGET = exe.out
 8
 9 SRC_FILES += $(shell find $(CUR_DIR) -name *.cc) 10           += $(shell find $(CUR_DIR) -name *.cpp)
11
12 OBJS = fatal-impl.o log.o
13
14 INCLUDE += -I.
15 RM = rm -f
16
17 LINK =
18 CFLAGS = -DNS3_LOG_ENABLE -g -Wall -O0
19
20 all: $(OBJS) test.o
21     $(GXX) $(CFLAGS) $^ -o $(TARGET) $(LINK)
22
23 test.o: test.cpp
24     $(GXX) -c $(CFLAGS) $^ -o [email protected]
25
26 $(OBJS): %.o : %.cc
27     $(GCC) -c $(CFLAGS) $(INCLUDE) $< -o [email protected]
28
29 .PHONY : clean
30 clean:
31     $(RM) $(OBJS)
32     $(RM) $(TARGET)

上面-D选项放在-c选项前宏定义不起作用,修改放在-c选项后面后ok,

相当于在需要编译的文件最开始位置添加#define xxx

makefile 中定义宏位置需要注意一下,布布扣,bubuko.com

时间: 2024-10-20 10:38:35

makefile 中定义宏位置需要注意一下的相关文章

Makefile中进行宏定义

实际上是gcc命令支持-D宏定义,相当于C中的全局#define: gcc -D name gcc -D name=definition Makefile中可以定义变量(和宏很像),但是是给make解释器用的,对所编译的文件完全没有作用. 关键词: Make宏定义 Make传递宏定义 Makefile中添加宏定义 Makefile -D 在Makefile中我们可以通过宏定义来控制源程序的编译.只要在Makefile中的CFLAGS中通过选项-D来指定你于定义的宏即可. 如:CFLAGS +=

26.怎样在Swift中定义宏?

Swift 中没有宏定义,苹果建议使用let 或者 get 属性来替代宏定义值.虽然没有#define,但我们仍然可以使用 #if 并配合编译的配置来完成条件编译.下面会列出Swift项目开发中的一些常用宏定义,并提供源码. 1.常用字体宏定义 import Foundation import UIKit /// 系统普通字体 var gof_SystemFontWithSize: (CGFloat) -> UIFont = {size in return UIFont.systemFontOf

PCH 中定义宏 系统版本

#define IOS7 ([[UIDevice currentDevice].systemVersion doubleValue]>=7.0) 告诉系统不要把图片渲染成系统的颜色(蓝色) controller.tabBarItem.selectedImage=[[UIImage imageNamed:selectImage] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];

Makefile中的函数

Makefile 中的函数 Makefile 中自带了一些函数, 利用这些函数可以简化 Makefile 的编写. 函数调用语法如下: $(<function> <arguments>) # 或者 ${<function> <arguments>} <function> 是函数名 <arguments> 是函数参数 1.1 字符串函数 字符串替换函数: $(subst <from>,<to>,<text&

IOS中利用宏将RGB值转换为UIColor(转)

可以在pch文件中定义宏,这样整个项目就都可以用了! 1 #define UIColorFromRGBValue(rgbValue) [UIColor colorWithRed:((float)((rgbValue & 0xFF0000) >> 16))/255.0 green:((float)((rgbValue & 0xFF00) >> 8))/255.0 blue:((float)(rgbValue & 0xFF))/255.0 alpha:1.0]

.PHONY makefile中的伪目标

我的理解: 拿clean举例,如果make完成后,自己另外定义一个名叫clean的文件,再执行make clean时,将不会执行rm命令. 为了避免出现这个问题,需要.PHONY: clean ======================================================================================= 所谓伪目标就是这样一个目标,它不代表一个真正的文件名,在执行make时可以指定这个目标来执行其所在规则定义的命令,有时我们将一个伪

latex如何定义宏,插图统一尺寸减少工作量

问题背景是这样的,因为我要在文中插入一系列的图片,但是这些图片的大小我要保持一致,来达到预期的效果. 比如我有三个figure,这三个figure中,每个figure里面有两行,5列图片,我想要的是,这三个大图充满一页,自然而言就要调整图片的尺寸,但是实际上在用\includegraphics的时候,需要对每张图片进行设置尺寸,逐个调整就是需要修改2*5*3=30个参数 一种更简便的方法是通过在latex中定义宏变量,比如我想用一个变量代替数值,可以这样做 \newcommand{\mysize

驱动中的宏定义及预编译指令

驱动代码与平时的Win32代码有一些区别,在学习内核编程之前,简单了解一下,以后阅读代码会轻松一些. 首先是参数说明宏,一般都是空宏,例如 #define IN#define OUT 这样来看,IN和OUT都被定义成了空,注意,这儿的空即什么也没有,不同于NULL或者VOID.只要不与变量等连在一起,他们出现在代码的任何地方都没有关系 . 只是函数的一个说明,提高程序的可读性, NTSTATUS ZwQueryInformationFile( _In_  HANDLE              

C语言学习笔记--C语言中的宏定义

1. C 语言中的宏定义 (1)#define 是预处理器处理的单元实体之一(因此,预处理器只是简单的进行替换,并不(2)#define 定义的宏可以出现在程序的任意位置(包括函数体的内部)(3)#define 定义之后的代码都可以使用这个宏 2. 定义宏常量 (1)#define 定义的宏常量可以直接使用(2)#define 定义的宏常量本质为字面量 3. 宏定义表达式 (1)#define 表达式的使用类似函数调用(2)#define 表达式可以比函数更强大(3)#define 表达式比函数