今天在linux上进行了比较复杂的编译和测试。linux
先描述一下我比较失败的编译经验,但愿能把刚才繁琐的动做的动做描述清楚。测试
1.cpp ----> lib1.so编译
2.cpp ----> lib2.so
file
3.cpp ----> exe
bug
source/bak(这个下面是:1.cpp.bak, 2.cpp.bak, 3.cpp.bak程序
source/*.cpp经验
project/bak(这个下面是:Makfile1,Makfile2, Makfile3)项目
project/Makefilemargin
为了编译 lib1.so,我作了一下几个动做:di
①rm project目录下的全部的Makefile文件
②从project/bak中拷贝Makfile1到project目录,并改成Makefile。
③rm source目录下的全部的.cpp文件
④从source/bak中拷贝1.cpp.bak到source目录,并改成1.cpp。
固然,若是编译一次,这个固然不是问题。可是,若是,你须要编译几十次,这些多余的脑力会成为你找到真理的障碍。(找到真相原本就很艰难,表增长额外的险阻)
还好,今天头脑还比较清醒,仍是挺过去了。
source/1/1.cpp
source/2/2.cpp
source/3/3.cpp
project/1/Makefile
project/2/Makefile
project/3/Makefile
如今要好不少了。是吧。
减小你查bug时的痛苦,把精力放在刀刃上。
让你的查错误变得有迹可循,不会覆盖掉之前的测试程序。
好比,你须要额外的知识,好比Makefile的相对路径等问题。
麻烦。你可能以为如今既有的东西可以解决问题,为何要引入新的东东。其实,最重要的是,你怕改变。