一个工程同时使用了 ffmpeg 和 live555,结果一不注意就混乱了……原因如下:
1 | // ffmpeg 的 error.h 里 include 了 errno.h,有以下定义: |
很明显,live555 这么做,违背了面向对象的基本特征——封装,这种平台相关的抽象应该封装在源文件里面,而不是放在头文件。挪个位置即可。
一个工程同时使用了 ffmpeg 和 live555,结果一不注意就混乱了……原因如下:
1 | // ffmpeg 的 error.h 里 include 了 errno.h,有以下定义: |
很明显,live555 这么做,违背了面向对象的基本特征——封装,这种平台相关的抽象应该封装在源文件里面,而不是放在头文件。挪个位置即可。