lzo的正确c语言代码,LZO的问题

所以我正在尝试在我的应用程序中使用LZO。以下是我将其包括在内的方法:

#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"

然后在应用程序中我会:

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;

}

它编译得很好。编译期间没有错误或警告。

但是,当我尝试运行应用程序时,有两个错误:

/home/richard/client/src/portab.h:145: undefined reference to `__lzo_align_gap'

在portab.h的这一行中的哪个点:

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;

在我的申请中:

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

指的是:

如果(lzo_init()!= LZOZYEOK OK)

{

printf(“内部错误-lzo_init()失败!!!!\n);

printf(“(这通常表示编译器错误-尝试在不进行优化的情况下重新编译,并启用“-dlzo-debug”进行诊断”);

返回4;

}

我的源目录中有所有头文件:

config.h

lzo1x.h

lzoconf.h

lzodefs.h

miniacc.h

portab.h

portab_a.h

我做错什么了?

我正在Anjuta IDE的Ubuntu 10.10中编译我的应用程序。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值