➜ tree
.
├── demoA
│ ├── libDemoA.a
│ ├── sum.cpp
│ ├── sum.h
│ └── sum.o
├── demoB
│ ├── libDemoB.a
│ ├── sum.cpp
│ ├── sum.h
│ └── sum.o
└── main.cpp
问题:
demoA/sum.h 和 demoB/sum.h 如果都是只有 sum 函数,那么无论哪个先链接,都不会有问题。
但是一旦里面有 class ,定义不一样,那么就会出错。
更多可以看这篇:
深入理解 C++ 链接符号决议:从符号重定义说起