开发者

Compilation problem in tokyo cabinate C program

开发者 https://www.devze.com 2023-01-13 07:51 出处:网络
i am new to tokyo cabinet and i have installed it and i have run the example c program i am getting error...

i am new to tokyo cabinet and i have installed it and i have run the example c program i am getting error... while i compile with 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

can a开发者_C百科ny one tell me what is the issues with this...


Yes, you will almost certainly have to link with the library files for Tokyo Cabinate (whatever that is).

Typically, you would use a command like:

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

where:

  • -L specifies search paths for libraries.
  • -l lists libraries to search for undefined symbols.

and the linker will go looking for the libraries, following certain rules for turning xyz into a file name like libxyz.so.

In fact, a search of the net turns up this (on one line, I'm just splitting it for readability):

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

as the command line to use.

so I would suggest that you need for your specific case (again, on one line):

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

精彩评论

暂无评论...
验证码 换一张
取 消