mac下tpcc-mysql make时报错 library not found for -l-lrt

下载tpcc-mysql后,进入src目录,执行
make

报错信息:

cc load.o support.o \`mysql_config --libs_r\` -lrt -o ../tpcc_load

ld: library not found for -l-lrt

clang: error: linker command failed with exit code 1 (use -v to see invocation)

make: *** [../tpcc_load] Error 1

这个错误是因为在链接时找不到-lrt库导致的。在Mac系统上,-lrt库是不被支持的。解决方案是修改Makefile文件,将-lrt替换为-lpthread。你可以进入tpcc-mysql的src目录,找到Makefile文件,将以下行:

CCFLAGS = -O3 -s -Wall -Wunused-result
LDFLAGS = -s
LIBS = -lpthread -lmysqlclient -l-lrt

修改成以下内容:

CCFLAGS = -O3 -s -Wall -Wunused-result
LDFLAGS = -s
LIBS = -lpthread -lmysqlclient -lpthread

然后再执行make命令即可成功编译。