2012-02-04 12 views
20

RFC 3797 rasgele seçim algoritmasının uygulanmasını Donald Eastlake (kod: http://kambing.ui.ac.id/minix/other/rfc3797/) ile derlemeye çalışıyorum. Ancak, bir bağlayıcı hatası alıyorum: Ben açıkça matematik Libraray karşı bağlantılar sağlanan Makefile, bunu yapmaya çalışıyorumundefined reference 'log'

rfc3797.c:(.text+0xe7f): undefined reference to `log' 

, ama yine de hatayı alıyorum:

cc -lm -o randomselection rfc3797.c MD5.c 

nasıl Bu programı derleyebilir miyim?

+1

'nu muydunuz? – Mysticial

+4

"cc -o randomselection rfc3797.c MD5.c -lm" yi deneyebilir misiniz? – cnicutar

+1

@Shade Hayır, sorun değil, çalışmaktan memnunum :-) Bunun yerine fajrans cevabını kabul edebilirsiniz. Ve konu hakkında bir [C SSS] (http://c-faq.com/lib/libsearch.html). – cnicutar

cevap

30

Sebep ne olduğunu bilmiyorum, ancak -lm sonuna taşınırsanız, derler.

$ cc -o randomselection rfc3797.c MD5.c -lm 
rfc3797.c: In function ‘getinteger’: 
rfc3797.c:183:3: warning: format not a string literal and no format arguments [-Wformat-security] 
+4

Kütüphaneleri nasıl bağlandığınızı düşünürseniz, bunun nedeni oldukça basittir. –

+0

Kerrek'in bahsettiği ve yukarıdaki kriketlerden borç almayı genişletmek için, bu, bağlama işleminin argüman sırasına göre nasıl çalıştığını açıklar: http://c-faq.com/lib/libsearch.html – staticfloat