2010-11-20 23 views
0

Uygulamada LZO kullanmaya çalışıyorum. İşte bunu dahil ettik nasıl: LZO ile sorun var

#include "lzoconf.h" 
#include "lzodefs.h" 
#include "lzo1x.h" 
/* portability layer */ 
static const char *progname = NULL; 
#define WANT_LZO_MALLOC 1 
#define WANT_XMALLOC 1 
#include "portab.h" 

Sonra uygulamada yapmam: Tamam derler

if (lzo_init() != LZO_E_OK) 
{ 
    printf("internal error - lzo_init() failed !!!\n"); 
    printf("(this usually indicates a compiler bug - try recompiling\nwithout optimizations, and enable '-DLZO_DEBUG' for diagnostics)\n"); 
    return 4; 
} 

. Derleme sırasında hata veya uyarı yok. Gerçi benim uygulamayı çalıştırmak çalıştığınızda

, iki hata vardır:

portab.h bu hat işaret
/home/richard/client/src/portab.h:145: undefined reference to `__lzo_align_gap' 

:

if (__lzo_align_gap(p, (lzo_uint) sizeof(lzo_align_t)) != 0) 
{ 
    printf("%s: C library problem: malloc() returned mis-aligned pointer!\n", progname); 
    exit(1); 
} 
return p; 

Ve uygulamada:

/home/richard/client/src/main.cc:108: undefined reference to `__lzo_init_v2' 

Hangi noktaları için:

if (lzo_init() != LZO_E_OK) 
{ 
    printf("internal error - lzo_init() failed !!!\n"); 
    printf("(this usually indicates a compiler bug - try recompiling\nwithout optimizations, and enable '-DLZO_DEBUG' for diagnostics)\n"); 
    return 4; 
} 

benim kaynak dizinindeki tüm üstbilgi dosyaları var: Yanlış

config.h 
lzo1x.h 
lzoconf.h 
lzodefs.h 
miniacc.h 
portab.h 
portab_a.h 

yapıyorum?

Uygulamamı Anjuta ide'de Ubuntu 10.10'da derledim.

cevap

1

Başlıklar yeterli değil, kütüphanelere bağlamanız gerekiyor. Belgeleri okudun mu?

+0

Evet. Ama kütüphaneyi nasıl bağlayacağımı bilmiyorum. Orada belirtilmemiş. –

+0

@Richard: Anjuta IDE'nin "kütüphane yolları" hakkında bir şeyden bahseden bir öğretici var mı? Bu IDE'yi hiç duymadım ve bir Linux uzmanı değilim, fakat LZO dizininde bir yerde '.a 'uzantılı bazı dosyalar olmalı, doğru mu? Belki de 'lib' adlı bir dizinde? – fredoverflow

+0

sadece bir tahmin, ancak LD_PATH kurulumunuz lzo kütüphanesine işaret edecek kadar mı ?, bizim için LD_PATH eko? – hhafez