工程中用到一个同事的静态库, 当他换成动态库时,工程直接编译成功。
但是在运行时,安装程序虽然没有调用到该动态库的接口, 但是因为包含了动态库的Lib, 导致一运行就报Windows没有找到某个DLL.
最后调整了静态库的调用关系,这事才搞定。用了2个小时.
反思一下,原因是:工程开始时,没有考虑周全,当需求或依赖的组件发生变化时,导致工程维护量很大。
* 对于使用第三方组件版本升级引起的工程维护问题,在工程建立的时候, 就应该考虑到。
* 设计的静态库分层关系,开始就不是很合理.
* 在编码过程中, 代码该在哪层写,就在哪层写。 不能因为其他原因, 使代码组织的清晰度下降.
旧的静态库调用关系.
调整后, 合理的静态库调用关系: