0

我在我的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,但它没有帮助。

4

2 回答 2

0

我知道为时已晚,但它可能对其他人有用。如果您想使用je_API 的前缀版本,则必须在编译库时添加--with-jemalloc-prefix=je_选项(在这种情况下是在运行配置脚本时)。

于 2021-07-13T08:35:26.833 回答
0

当我查看文档时没有功能je_malloc,所以错误是正常的

替换je_mallocmalloc

于 2019-01-09T12:16:14.597 回答