Cómo ignorar el método principal de una biblioteca ligada dinámica en C ++
-
13-12-2019 - |
Pregunta
En nuestra aplicación utilizamos varias bibliotecas enlazadas dinámicamente.Recientemente actualizamos la versión de una de estas bibliotecas.Los desarrolladores de esa biblioteca están proporcionando un método principal desde esta nueva versión (sin hacer nada más que imprimir Hello World).
El problema es que estamos usando GTEST y GMOCK, que generan su propio método principal.Cuando realizamos nuestro binario de prueba, simplemente nos ponemos "Hello World", por lo que se está tomando el método principal incorrecto.
¿Cómo podemos forzar el método principal de las pruebas que se utilizarán?
Actualizar: Esto parece ser un problema de gmock / gtest.El método principal se genera normalmente, pero este no es el caso, ya que encuentra un método principal ya existente ahora.
Solución
No hay formas de estar en su situación.Tendrá que eliminar el principal de la biblioteca compartida.Simplemente no pertenece allí.
Otros consejos
Tuve un problema similar con dos bibliotecas que tienen métodos principales, que se resolvieron cambiando el orden de las bibliotecas al enlazador.