Existe alguma maneira em que eu não precise especificar o vinculador ao compilar?

2

Por exemplo, se meu código c ++ incluiu math.h para que eu possa usar sin() .

Quando eu compilo meu código, eu preciso adicionar o linker, ou seja:

g++ main.cpp -lm

Então, minha pergunta é: existe alguma maneira de não adicionar o -lm ?

    
por gliese 19.11.2012 / 09:09

2 respostas

2

Em primeiro lugar, o -lm não é o "vinculador", é o nome de uma biblioteca que você está pedindo para vincular.

Em segundo lugar, a resposta simples para a sua pergunta é não, não há como evitar a necessidade de especificar isso - se você usa rotinas de uma biblioteca diferente da biblioteca C principal, então você precisa dizer ao compilador sabe onde encontrar as rotinas.

    
por 19.11.2012 / 10:33
1

Você pode considerar o uso de make e Makefile s. É claro que você ainda precisa dos links para as bibliotecas, mas não precisa mais pensar sobre isso ao compilar. Isso é útil especialmente quando você está vinculando várias bibliotecas.

    
por 19.11.2012 / 10:55

Tags