我通过使用下面给出的以下链接建立了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 folly :: usingJEMallocSlow()'中
    collect2:错误:ld返回1退出状态

为了解决此问题,我需要包括哪个库?

最佳答案

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

根据您编译/安装方式的不同,folly将确定如何解决此问题,例如在编译行中添加-lfolly

关于c++ - 关于与Facebook Folly库链接时的编译问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29210319/

10-11 02:32