如果一个库A依赖于另外一个库B,则编译动态库A(或者插件时),如果编译文件makefile或者pro文件中未指定依赖于动态库B时,编译A不会报错(动态库编译不会链接依赖的库文件),但是当依赖于动态库A的进程编译(如果A定义是一个插件,则当A进程运行时)也未指定动态库B时,则会报错未定义的引用(undefined symbol),解决方案有以下两种即:
- 编译A时,即指定所有依赖的库文件,则引用A的所有进程只需要指定动态库A即可
- A进程挨个指定所有动态库A所依赖的动态库
很明显比较合适的解决方案一可以避免很多不必要的问题