我通过以下方式在我的ubuntu机器上安装了jemalloc库
sudo apt-get install libjemalloc-dev
现在,我无法编译使用jemalloc库的简单代码:
#include <jemalloc/jemalloc.h>
#include <iostream>
int main() {
void* ptr = je_malloc(16);
return 0;
}
我通过g++ -ljemalloc example.cpp
进行编译。
我得到的错误是
example.cpp: In function ‘int main()’:
example.cpp:5:24: error: ‘ je_malloc’ was not declared in this scope
void* ptr = je_malloc(16);
我什至尝试使用其源文件安装jemalloc,并将标头更改为"jemalloc/jemalloc.h"
(而不是<..>
),并使用g++ -L./jemalloc/lib example.cpp
链接到它,但这没有帮助。
答案 0 :(得分:0)
当我查看documentation时,没有功能je_malloc
,因此错误是正常的
将je_malloc
替换为malloc
答案 1 :(得分:0)
我知道为时已晚,但它可能对其他人有用。如果您想使用 API 的 je_
前缀版本,则必须在编译库时添加 --with-jemalloc-prefix=je_
选项(在本例中是在运行配置脚本时)。