gpt4 book ai didi

tokyo cabate C程序的编译问题

转载 作者:行者123 更新时间:2023-11-30 16:04:00 27 4
gpt4 key购买 nike

我是 tokyo Cabinet 的新手,我已经安装了它并且我已经运行了示例 C 程序,但出现错误...当我用 gcc 编译时

gcc -O tcadbex.c 

/tmp/cc7IEOht.o: In function `main':
tcadbex.c:(.text+0xd): undefined reference to `tcadbnew'
tcadbex.c:(.text+0x1f): undefined reference to `tcadbopen'
tcadbex.c:(.text+0x58): undefined reference to `tcadbput2'
tcadbex.c:(.text+0x74): undefined reference to `tcadbput2'
tcadbex.c:(.text+0x90): undefined reference to `tcadbput2'
tcadbex.c:(.text+0xc1): undefined reference to `tcadbget2'
tcadbex.c:(.text+0x10e): undefined reference to `tcadbiterinit'
tcadbex.c:(.text+0x11c): undefined reference to `tcadbget2'
tcadbex.c:(.text+0x156): undefined reference to `tcadbiternext2'
tcadbex.c:(.text+0x164): undefined reference to `tcadbclose'
tcadbex.c:(.text+0x18d): undefined reference to `tcadbdel'
collect2: ld returned 1 exit status

谁能告诉我这有什么问题......

最佳答案

是的,您几乎肯定必须链接到 Tokyo Cabinate 的库文件(无论是什么)。

通常,您会使用如下命令:

gcc -o tcadbex -L/usr/lib -lxyz tcadbex.c

地点:

  • -L 指定库的搜索路径。
  • -l 列出用于搜索 undefined symbol 的库。

链接器将按照一定的规则寻找库,将 xyz 转换为 libxyz.so 这样的文件名。

事实上,网上搜索一下就发现了this (在一行中,我只是为了可读性而将其拆分):

gcc -I/usr/local/include tc_example.c -o tc_example
-L/usr/local/lib -ltokyocabinet -lz -lbz2 -lrt -lpthread -lm -lc

作为要使用的命令行。

所以我建议您需要针对您的具体情况(再次,一行):

gcc -I/usr/local/include tcadbex.c -o tcadbex
-L/usr/local/lib -ltokyocabinet -lz -lbz2 -lrt -lpthread -lm -lc

关于tokyo cabate C程序的编译问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3554613/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com