C-library não vinculando usando gcc / g ++

Eu tenho uma biblioteca c que eu uso no gcc. A biblioteca possui a extensão .lib, mas está sempre vinculada como uma biblioteca estática. Se eu escrever um programa que usa a biblioteca como c-code, tudo como um ok. No entanto, se eu renomear o arquivo para .cpp (fazendo coisas simples que funcionem em ambos os c / c ++), obtém uma referência indefinida. Estes são pequenos programas simples que escrevo para fins de teste, por isso não há coisas extravagantes. Eu compilo usando:

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

O acima funciona como um encanto. Contudo:

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

ou

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

resulta em referência indefinida para qualquer função em customlibrary.lib. Eu tentei criar um link simbólico chamado customlibrary.a mas sem sorte.

Por que o g ++ find não reconhece minha biblioteca? Infelizmente não tenho acesso ao código-fonte das bibliotecas, mas vincular um c-lib ao c ++ não deve ser um problema, certo?

questionAnswers(3)

yourAnswerToTheQuestion