Zaten derlerken bağlayıcıyı belirtmem gerekmeyen herhangi bir şey var mı?


2

Mesela c ++ kodumu ekledim, math.hböylece kullanabilirim sin().

Kodumu derlerken linker eklemem gerekiyor, yani:

g++ main.cpp -lm

Öyleyse sorum şu: Eklemeye gerek duymadığım bir yol var mı -lm?


Hayır, bağlanılacak kütüphaneleri belirtmelisiniz.
Dan D.

Yanıtlar:


2

Öncelikle, bu -lm"linker" değil, link vermek istediğiniz kütüphanenin adı.

İkincisi, sorunuza verilen basit cevap hayırdır, bunu belirtmekten kaçınmanın bir yolu yoktur - eğer ana C kütüphanesi dışındaki bir kütüphaneden gelen rutinler kullanıyorsanız, derleyiciye nerede olduğunu bildiğini söylemeniz gerekir. Rutinleri bulun.


Derleyiciyi, sizin için bağlantı kurmanız gereken kütüphaneleri belirten bir araç aracılığıyla çağırabilirsiniz. -lmDerleyiciye geçmek için bu aracı yapılandırmanız gerekir , ancak bunu yalnızca bir kez yapmanız gerekir.
David Schwartz

1

makeVe Makefiles kullanmayı düşünebilirsiniz . Elbette kütüphanelerin bağlantılarına hala ihtiyacınız var ama derleme yaparken daha fazla düşünmenize gerek yok. Bu, özellikle birden fazla kütüphaneyi bağladığınızda kullanışlı olur.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.