未定义引用" tpl_map"

时间:2014-11-18 02:35:29

标签: c serialization

我想序列化结构。 我试图使用TPL库。

我读到了:

http://troydhanson.github.io/tpl/userguide.html#_as_source

"构建和安装 - 作为来源:"

"使用tpl的最简单方法是将源文件tpl.h和tpl.c(从src /目录)复制到项目中,然后使用其余的源文件构建它们。不需要特殊的编译器标志。"

所以,我从以下网址下载了.zip: https://github.com/troydhanson/tpl

我复制了#34; tpl.h"和" tpl.c"从src /目录到我的" main"的目录文件

然后我加入了我的" main"档案:

#include "tpl.h"

tpl_node *tn;
int id = 0;
char *name, *names[] = { "joe", "bob", "cary" };

tn = tpl_map("A(is)", &id, &name);

for(name=names[0]; id < 3; name=names[++id]) {
   tpl_pack(tn,1);
}

tpl_dump(tn, TPL_FILE, "save");
tpl_free(tn);

但我有以下错误:

main.c: undefined reference to " tpl_map "

main.c: undefined reference to " tpl_pack "

main.c: undefined reference to " tpl_dump "

main.c: undefined reference to " tpl_free "

有人可以帮助我吗?

1 个答案:

答案 0 :(得分:0)

谢谢technosaurus,

我忘记了&#34; tpl.c&#34;在我的&#34; SRC&#34;列表在makfile中。

我是编程新手,这是我第一次犯这个错误。

现在我有来自tpl.c的5个编译错误,而我没有触及任何类似的错误:

tpl.c:431:41: error: comparison of integers of different signs: 'int' and
  'unsigned long' [-Werror,-Wsign-compare]
  ...(num_contig_fxlens >= (sizeof(contig_fxlens)/sizeof(contig_fxlens[0]))) {

我想这个图书馆还没有结果,我会尝试别的。

感谢您的帮助。