源码里面有INSTALL.md,里面有安装说明,但是不可完全参照,需要调整步骤如下:
chmod -R 777 jemalloc-4.5.0
cd jemalloc-4.5.0./autogen.sh --with-jemalloc-prefix=je_
make dist
make
make install
最终头文件和库文件的安装路径分别是:
usr/local/include/jemalloc
usr/local/lib
本人环境是CentOS 7.3,gcc版本是4.8.5。
请注意:
(1)chmod这个步骤很重要,否则jemalloc文件夹下有大量.sh文件,最终会因为没有权限而编译失败。
(2)./autogen.sh 务必带上参数!即 "./autogen.sh --with-jemalloc-prefix=je_",否则将来编程调用时会报错,例如:
undefined reference to `je_malloc'
undefined reference to `je_realloc'
CMakeList.txt文件
cmake_minimum_required(VERSION 2.8)
project(myDemo)
SET(JEMALLOC_INCLUDE_DIR /usr/include/jemalloc)
SET(JEMALLOC_LIB /usr/local/lib)
INCLUDE_DIRECTORIES(${JEMALLOC_INCLUDE_DIR})
LINK_DIRECTORIES(${JEMALLOC_LIB})
#ADD_EXECUTABLE必须在TARGET_LINK_LIBRARIES前面,否则会报错
ADD_EXECUTABLE(${PROJECT_NAME} main.c)
TARGET_LINK_LIBRARIES(${PROJECT_NAME} jemalloc)