He compilado varias bibliotecas con MingW/MSYS ... las bibliotecas estáticas generadas son siempre archivos .a. Cuando intento vincular la biblioteca con un proyecto MSVC, Visual Studio arroja 'símbolos externos no resueltos' ... Significa que la biblioteca estática .a no es compatible con MS C++ Linker. Supongo que debe convertirse a un archivo .lib compatible con MSVC.¿Cómo usar las bibliotecas compiladas con MingW en MSVC?
O bien, .a y .lib son solo archivos AR de archivos .o o .obj, de modo que ¿hay alguna forma de cómo usar las librerías compiladas de MingW en un proyecto de MSVC? ¿O tengo que compilar/vincular todo solo en un compilador/vinculador solo MSVC/solo MingW? Se dice que el compilador MingW es compatible con MSVC.
He leído algunos hilos sobre este tema, pero en su mayoría dicen que el cambio de nombre del archivo a .lib debería hacer el trabajo, pero lamentablemente no funciona para mí.
Las bibliotecas Im tratando de enlace están escritos en C
MSVC Enlazador lanza errores como:
error LNK2019: unresolved external symbol "int __cdecl openssl_call(struct ssl_State *,int,int,int)" ([email protected]@[email protected]@[email protected]) referenced in function _main MyAPP.obj
... y 4 más mismos errores que se refieren a otras funciones llamadas desde mi aplicación.
Gracias por cualquier consejo.
¿No pudo compilar todo en MSVC? –
"O bien, .a y .lib son solo archivos AR de archivos .o o .obj" ¿Está seguro de que los archivos .lib estáticos de msvc son como archivos .a "ar"? –
Parece que esta pregunta (y sus respuestas) son específicas de C en lugar de C++ ... ¿puede confirmarlo? – d3vid