La biblioteca C no se vincula usando gcc / g ++

Tengo una c-biblioteca que utilizo en gcc. La biblioteca tiene la extensión .lib pero siempre está vinculada como una biblioteca estática. Si escribo un programa que usa la biblioteca como c-code, todo como a-ok. Sin embargo, si renombro el archivo a .cpp (haciendo cosas simples que funcionan tanto en c / c ++) obtengo una referencia indefinida. Estos son programas pequeños y sencillos que escribo para propósitos de prueba, así que no hay cosas extravagantes. Yo compilo usando:

gcc -g -Wall -I <path to custom headers> -o program main.c customlibrary.lib -lm -lpthread

Lo anterior funciona como un amuleto. Sin embargo:

g++ -g -Wall -I <path to custom headers> -o program main.cpp customlibrary.lib -lm -lpthread

o

gcc -g -Wall -I <path to custom headers> -o program main.cpp customlibrary.lib -lm -lpthread -lstdc++

da como resultado una referencia indefinida a cualquier función en customlibrary.lib. Intenté crear un enlace simbólico llamado customlibrary.a pero no tuve suerte.

¿Por qué g ++ find no reconoce mi biblioteca? Desafortunadamente, no tengo acceso al código fuente de las bibliotecas, pero vincular c-lib con c ++ no debería ser un problema, ¿no?

Respuestas a la pregunta(3)

Su respuesta a la pregunta