Conflicto entre libwebrtc y la biblioteca openCV: -fno-rtti y -frtti

rtti: RTTI (identificación de tipo en tiempo de ejecución), a través de la identificación de tipo en tiempo de ejecución, se pueden usar punteros o referencias de la clase base para comprobar el tipo derivado real del objeto al que hacen referencia estos punteros o referencias (consulte la explicación de Baidu ) .

La biblioteca webrtc y la biblioteca OpenCV son útiles en el proyecto, y nosotros mismos compilamos las bibliotecas de los dos proyectos de código abierto. Al importar al proyecto y compilar, si -fno-rtti está configurado en CMakeLists.txt, la biblioteca OpenCV no se puede vincular normalmente. Si se cambia al parámetro -frtti, la biblioteca webrtc no se puede vincular normalmente.

A juzgar por esta situación, hay dos soluciones para resolver el conflicto:
1. Al compilar OpenCV, agregue -fno-rttiparámetros
2. Al compilar webrtc, agregue -frttiparámetros
Para la solución 1, lo probé y terminé en falla. Para la solución 2, eché un vistazo a la explicación en el sitio web oficial de webrtc.La función
no está habilitada por defecto durante la compilación , es decir, se usan parámetros. Pero también se puede habilitar agregando parámetros . La compilación requiere mucho tiempo (biblioteca de Android para todas las plataformas), pero afortunadamente, el conflicto entre las dos bibliotecas se resuelve después de la recompilación.rtti-fno-rttiuse_rtti=true

Supongo que te gusta

Origin blog.csdn.net/TopsLuo/article/details/86544153
Recomendado
Clasificación