user1@raspberrypi:~/Public/redis-2.0.4-stable $ cc -o redis-server -lm -lpthread -g adlist.o ae.o anet.o dict.o redis.o sds.o zmalloc.o lzf_c.o lzf_d.o pqsort.o zipmap.o sha1.o
/usr/bin/ld: redis.o: in function `computeObjectSwappability':
/home/user1/Public/redis-2.0.4-stable/redis.c:9293:(.text+0x199b8): undefined reference to `log'
collect2: error: ld returned 1 exit status

math库链接上了  -lm 但是还是报错 找不到log自然对数(Natural logarithm)函数

修改Makefile 把*.o 移动到 链接参数前面

redis-server: $(OBJ)
    $(CC) -o $(PRGNAME) $(CCOPT) $(DEBUG) $(OBJ)


redis-server: $(OBJ)
    $(CC) -o $(PRGNAME)  $(OBJ) $(DEBUG)  $(CCOPT)

$ make

...

cc -o redis-server adlist.o ae.o anet.o dict.o redis.o sds.o zmalloc.o lzf_c.o lzf_d.o pqsort.o zipmap.o sha1.o -g -lpthread -lm

$ ./redis-server
[9056] 10 Dec 09:52:13 # Warning: no config file specified, using the default config. In order to specify a config file use 'redis-server /path/to/redis.conf'
[9056] 10 Dec 09:52:13 * Server started, Redis version 2.0.4
[9056] 10 Dec 09:52:13 # WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.
[9056] 10 Dec 09:52:13 * The server is now ready to accept connections on port 6379
[9056] 10 Dec 09:52:13 - 0 clients connected (0 slaves), 821832 bytes in use
[9056] 10 Dec 09:52:18 - 0 clients connected (0 slaves), 821832 bytes in use

代码下载链接

ed2k://|file|redis-2.0.4-stable.zip|485917|24CEAB4671C984F169A2160AEFE55154|h=I5RAFGIKIEECN37FZNHN2JSVZFNVAEC3|/

相关书籍

ed2k://|file|Levine%20-%20Linkers%20and%20Loaders%20[compilers,%20ELF]%20(Morgan,%202000).djvu|2265728|D17EFC39F27205933AE9571E8F7EE617|h=HIPA4QMJZK7KGNCAFZCKJISCWZODIEHK|/

ed2k://|file|Levine,%20Linkers%20And%20Loaders%20(Morgan%20Kaufmann,%202000).pdf|18883469|9E934E3F78C2BABD586670F3815A1166|h=EP6AOLUQYOADRAGS2M7OV4Y7KS6SKAS2|/

Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐