一个字母引发的编译血案
来源:互联网 发布:男同事对你有好感知乎 编辑:程序博客网 时间:2024/04/30 15:06
我的环境是Linux操作系统。
在当前目录下有这样几个源文件:
// dou.hint dou(int _data);
// dou.cpp#ifdef DOU#include <dou.h>int dou(int _data){ return 2*_data;}#else#include <Window.h>#endif
// main.cpp#include <stdio.h>#include <dou.h>int main(){ printf("dou(3):%d\n", dou(3));}
Makefile文件是这样的:
DEFINE=-DDOUall: main.o dou.o g++ -o exe main.o dou.omain.o: main.cpp dou.h g++ -c main.cppbou.o: dou.cpp dou.h g++ -c dou.cpp ${DEFINE}clean: rm *.o exe
编译结果:
$ makeg++ -c main.cppg++ -c -o dou.o dou.cppdou.cpp:12:20: error: Window.h: No such file or directorymake: *** [dou.o] Error 1
我感觉很奇怪:命名我有定义dou.o的生成规则:
g++ -c dou.cpp ${DEFINE}为什么还是会自动生成bou.o的生成规则呢:
g++ -c -o dou.o dou.cpp
最后在我反反复复看几遍代码之后发现,在Makefile的第8行有一个字母写错啦:
bou.o: dou.cpp dou.h 应该是 dou.o: dou.cpp dou.h
我花了很长一段时间才找出这个问题,很是汗颜~~
希望能以此为戒。
- 一个字母引发的编译血案
- 一个 * 引发的血案
- 一个“-”引发的血案
- 一个"/"引发的血案
- 一个松果引发的血案
- 一个memset引发的血案
- 一个包子引发的血案?
- 一个斜杠引发的血案
- 一个逗号引发的"血案"
- 一个static 引发的“血案”
- 一个分号引发的血案
- 一个key引发的血案
- 一个变量引发的血案
- 一个return引发的血案
- 一个ViewSwitcher引发的血案!
- 一个分号引发的“血案”
- 一个static引发的血案
- 一个2803引发的血案
- how to make a driver pagable
- MongoDB的一些应用
- 01-swing_组件划分
- 《Don't Make Me Think》读书笔记——思维导图版
- Windows® CE 系统中的同步机制
- 一个字母引发的编译血案
- CF 141 div2 D(2-SAT)
- Github学习
- 素数距离问题
- VMware下安装的linux虚拟机CentOS-6.3-x86_64-LiveCD重启后还原所有的配置信息
- zoj 1526 (数论)
- C游戏编程入门第一讲心得
- 关于 Windows CE 系统中同步机制的思考
- HDU 1016 Prime Ring Problem