您的位置:首页 > 运维架构 > Linux

jemalloc编译出错?没事,这里有成功的linux环境的编译及使用方案

2018-02-28 16:19 1506 查看
jemalloc是facebook推出的,https://github.com/jemalloc/jemalloc
源码里面有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)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  jemalloc 编译 出错