zoukankan      html  css  js  c++  java
  • Facebook的folly库在Utunbu上的编译

    这个没用选择使用最新版本的folly,而是原则了v2018.09.10.00(没有为什么,主要不是想选最新的!)

    下载tar.gz源码包:https://github.com/facebook/folly/archive/v2018.09.10.00.tar.gz

    1:按照read.me文件安装相关依赖

    2:mkdir _build && cd _build cmake ..

    make 

    为了指定安装位置,在这里make之后,在_build文件下,找到cmake_install.cmake文件,
    修改
    set(CMAKE_INSTALL_PREFIX "/usr/local")
    为这个:
    set(CMAKE_INSTALL_PREFIX "/home/liu/桌面/Folly/folly-2018.09.10.00/Folly")
    其中"/home/liu/桌面/Folly/folly-2018.09.10.00/Folly"是自己指定的一个安装文件夹目录,然后进行下一步 make install。
    (主要是我在命令中指定CMAKE_INSTALL_PREFIX参数时,没有安装成功,才这样修改的,知道如何指定这个参数的,欢迎留言!)
    make install

    3:编写测试文件,folly给了详细的测试代码,这里仅仅摘取了一部分的代码。

    #include "Include/folly/FBVector.h"
    #include "Include/folly/FBString.h"
    #include "Include/folly/portability/GTest.h"
    #include "Include/folly/container/Foreach.h"
    
    using namespace std;
    using namespace folly;
    
    int main() {
        fbvector<int> v(10, 20);
        EXPECT_EQ(v.size(), 10);
        FOR_EACH (i, v) { EXPECT_EQ(*i, 20); }
        FOR_EACH(i,v) {cout << *i << endl;}
    }

    4:CMakeLists.txt文件

    cmake_minimum_required(VERSION 3.17)
    project(NewFolly)
    
    set(CMAKE_CXX_STANDARD 14)
    include_directories(Include)
    
    file(GLOB Folly Include/*)
    link_directories(Lib)
    
    link_libraries(folly)
    link_libraries(folly_test_util)
    link_libraries(gtest)
    link_libraries(follybenchmark)
    link_libraries(glog)
    link_libraries(pthread m)
    link_libraries(ssl crypto)
    link_libraries(gflags)
    
    add_executable(NewFolly main.cpp ${Folly})

    注意这里链接库的顺序,有依赖关系,不可颠倒了顺序,详细的依赖的关系,我也不知道。

    set(folly_DIR /home/liu/Desktop/folly/f3y/lib/cmake/folly)
    find_package(folly)
    add_executable(Learn main.cpp)
    
    if(folly_FOUND)
        target_link_libraries(Learn Folly::folly)
    else(folly_FOUND)
        message(FATAL_ERROR ”Folly library not found”)
    endif(folly_FOUND)
    
    #如果没有gflag_share,则需要换成gflag

    附录:项目目录结构

    编译过程:很顺利,简单记录一下。

    欢迎加入folly库交流群:884935898,目前只有群主,哈哈哈哈哈哈!

    代码地址:github:https://github.com/NEU-Liu/HelloFolly

    没有上传libfolly.a,因为这个静态库200多M,即使上传了,你也不能直接用,你仍然需要把相关的其他依赖!

  • 相关阅读:
    OpenAL播放pcm或wav数据流-windows/ios/android(一)
    Windows录音API学习笔记--转
    Windows基础-实时录音程序(WaveXXX)
    Windows基础-使用XAudio2播放音频(本质是WASAPI)
    XAudio2播放PCM
    jps的用法及常见问题介绍
    eureka添加security验证之后,client注册失败
    Maven中央仓库地址大全,Maven中央仓库配置示例
    Maven入门指南:仓库
    Maven中央仓库地址
  • 原文地址:https://www.cnblogs.com/iuyy/p/14159540.html
Copyright © 2011-2022 走看看