关于与facebook愚蠢图书馆链接时的编译问题

时间:2015-03-23 12:33:39

标签: c++ facebook c++11 folly

我使用下面给出的以下链接构建了facebook folly库

https://github.com/facebook/folly

#include <iostream>
#include <stdlib.h>
#include <algorithm>
#include <typeinfo>
#include <vector>
#include "folly/FBVector.h"
int main()
{
        folly::fbvector<int> vec;
        folly::fbvector<int>::iterator vIter;

        int i = 0;

        for(i = 0;i < 10;i++)
        {
                vec.push_back(i);
        }

        for(i = 0 ; i <=vec.size();i++)
        {
                cout << vec[i] << endl;
        }

        vec.erase(vec.begin()+ 5);

        vec.insert(vec.begin()+5,25);
        vec.insert(vec.begin()+5,5);
        vec.insert(vec.begin()+5,5);

        sort(vec.begin(),vec.end());

        cout << "Using Iteration Concept " << endl;
        for(vIter = vec.begin() ; vIter != vec.end();vIter++)
        {
                cout << *vIter << endl;
        }

        return 0;
}

编写完这段代码之后,只需编译它..当我编译时,得到以下问题..

syscon @ syscon-OptiPlex-3020:〜/ Documents / work / folly / folly-master $ g ++ -o stl stl.cpp -std = c ++ 11 -lboost_system

/tmp/cc2WeDlr.o:在函数folly::usingJEMalloc()':stl.cpp:(.text._ZN5folly13usingJEMallocEv[_ZN5folly13usingJEMallocEv]+0x2d): undefined reference to中愚蠢:: usingJEMallocSlow()&#39;     collect2:错误:ld返回1退出状态

为了解决这个问题我需要包含哪个库?

1 个答案:

答案 0 :(得分:2)

该特定符号来自:https://github.com/facebook/folly/blob/master/folly/Malloc.cpp所以它是已编译的愚蠢库的一部分(即,它不仅仅是一个仅限头的依赖项)。你需要链接它。

根据您编译/安装的方式,愚蠢将决定如何解决问题,例如:将-lfolly添加到编译行。