以前写makefile时,工程都比较小,全部放在一个文件夹,makefile也比较好写。最近弄了一个还算大的工程,在makefile上算是吃尽了苦头。
主要是2方面的原因:
(1)把头文件编译进去了。于是总是会产生这样或者那样的错误,理论上根本不可能的错误,浪费了不少时间。由于目标依赖于头文件,所以这里又有些矛盾。所以我在makefile里面加上了clean,每次改动之后,clean一次,工程不算巨大,重新编译也就是几秒钟的事,还可以接受。
(2)静态库文件的顺序。比如A依赖B,B依赖C。我刚开始是这样认为的,把C放在最前面,B其次,A最后,但是总是编译不过去,也找不到问题在哪,只是隐约觉得肯定是哪里编译的先后顺序问题。偶然把A和B的位置换了一下,错误又不一样,于是联想到时这里的问题,能编译过的顺序是A最前,B其次,C最后。
等把这阵子忙完之后,再重新修改makefile
阅读(1341) | 评论(0) | 转发(0) |