makefile及条件编译
来源:互联网 发布:金庸群侠传2秘籍数据 编辑:程序博客网 时间:2024/05/17 22:22
makefile及条件编译
//getword.cc
#include<iostream>
#include<string>
using namespace std;
int main()
{
string word;
#ifdef LINE
while(getline(cin,word))
cout<<word<<endl;
#else
while(cin>>word)
cout<<word<<endl;
#endif
return 0;
}
上面是源文件,此程序的目的是根据条件决定是要用每次一行输入还是一个单词输入,基于此可以写一个makefile如下:
MYDEF=-DLINE
GCC=g++
getword:getword.o
${GCC} getword.o -o getword //此处注意一定要以一个Tab键作为开头
getword.o : getword.c
${GCC} ${MYDEF} -c getword.cc -o getword.o
之后直接在终端输入make getword即可生成getword可执行文件
makefile的基本规则是:
target ... : prerequisites ...
command
...
...
target也就是一个目标文件,可以是Object File,也可以是执行文件。还可以是一个标签(Label),对于标签这种特性,在后续的“伪目标”章节中会有叙述。
prerequisites就是,要生成那个target所需要的文件或是目标。
command也就是make需要执行的命令。(任意的Shell命令)
这是一个文件的依赖关系,也就是说,target这一个或多个的目标文件依赖于prerequisites中的文件,其生成规则定义在command中。说白一点就是说,prerequisites中如果有一个以上的文件比target文件要新的话,command所定义的命令就会被执行。这就是Makefile的规则。也就是Makefile中最核心的内容
=================================================================================
方法1是通过手动修改makefile实现,方法2通过命令行传参实现。在makefile里可以自动检测出当前环境是32还是64位,有待进一步研究。
- makefile及条件编译
- makefile及条件编译
- Makefile条件编译
- Makefile 条件编译"-y"
- makefile 条件编译
- Makefile中用宏定义进行条件编译
- Makefile中用宏定义进行条件编译
- Makefile中用宏定义进行条件编译
- Makefile中用宏定义进行条件编译
- Makefile中自定义宏进行条件编译
- Makefile中用宏定义进行条件编译
- Makefile中用宏定义进行条件编译
- Makefile中用宏定义进行条件编译
- Makefile中用宏定义条件编译
- makefile函数集锦及条件判断
- glibc编译及makefile机制
- C++宏及条件编译
- C语言条件编译及编译预处理
- linux 新建用户、用户组 以及为新用户分配权限
- Codeforces Round #215 (diy.2) B.Sereja and Suffixes
- Makefile条件编译debug版和release版
- HTML5开发中使用MVC模式
- 深入浅出图解C#堆与栈 C# Heap(ing) VS Stack(ing) 第四节 参数传递对堆栈的影响 2
- makefile及条件编译
- hdu 4213 Sokoban(模拟)
- Andorid Activity生命周期
- LeetCode(2) AddTwoNumbers
- Linux和windows换行符区别及使用说明
- PL\SQL 学习笔记(二) pl\sql 变量声明 与 exception
- Sqlite使用
- 使用命令行查看应用的数据
- c++中.dll与.lib文件的生成与使用