专栏首页给永远比拿愉快Linux下Boot的编译和使用

Linux下Boot的编译和使用

其实Linux下的编译安装过程和Window下的是差不多的(Windows下Boot的编译和使用) 首先在官网下载安装包进行解压,然后执行bootstrap.sh脚本。

tar -xzvf boost_1_62_0.tar.gz
cd boost_1_62_0
./bootstrap.sh

然后进行编译安装,默认安装路径是/usr/local。所以,相应的头文件在/usr/local/include/boost目录中,库文件在/usr/local/lib目录中。

sudo ./b2 install

最后,添加lib库自动搜索路径到/etc/ld.so.conf,然后ldconfig使设置生效。 具体操作为:运行命令sudo vim /etc/ld.so.conf,将”include /usr/local/lib”这句话添加进去,并保存退出vim编辑器。再运行ldconfig命令使之生效。

下面是书写代码进行编译。 还是上次的代码,编译命令如下:g++ file_utiles.cpp --std=c++11 -I/usr/local/include -L/usr/local/lib -lboost_system -lboost_filesystem -o file_utiles

#include <iostream>
#include <string>
#include "boost/filesystem.hpp"

using namespace boost;
using std::cout;
using std::string;


int main()
{
    string fileName("./readme.txt");
    auto filePath = filesystem::path(fileName);

    if (filesystem::exists(filePath))    // does path p actually exist?
    {   
        if (filesystem::is_regular_file(filePath))        // is path p a regular file?
            cout << filePath << " size is " << filesystem::file_size(filePath) << '\n';

        else if (filesystem::is_directory(filePath))      // is path p a directory?
            cout << filePath << " is a directory\n";

        else
            cout << filePath << " exists, but is not a regular file or directory\n";
    }   
    else
        cout << filePath << " does not exist\n";

    return 0;
}

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Windows下Boot的编译和使用

    1。首先在Boost的官网下载Boot源码,分为Windows版本和Linux版本。下载好以后进行加压(我的解压目录是:E:\C++\Library\boost...

    卡尔曼和玻尔兹曼谁曼
  • GDAL简介

    Geospatial Data Abstraction Library (GDAL)是使用C/C++语言编写的用于读写空间数据的一套跨平台开源库。现有的大部分G...

    卡尔曼和玻尔兹曼谁曼
  • 依赖倒转原则(笔记整理)

    已经是2个月没有写过博客了吧,打开自己的博客,突然有种亲切感。给老板干活的日子很苦,能够有点属于自己的时间真是一种享受。

    卡尔曼和玻尔兹曼谁曼
  • 手把手撸PHP扩展 0x02: 整理文件

    在开发之前,我们先对项目的文件以及文件的内容进行整理,让结构更加的清晰。整理的依据是开发规范。

    桶哥
  • 程序员的技术修炼如登峰,到不了顶也要努力向上攀!

    为了学习React Native,我用了5天时间研究了JavaScript,并写了四篇文章总结自己的认识,有人留言:“才学了5天就能这么厉害?”。前段时间,我花...

    非著名程序员
  • leetCode刷题(找到最长的回文字符串)

    windseek
  • 一文看懂人工智能:原理,技术和未来

    【新智元导读】Facebook 官方博客更新,FAIR 主管、深度学习代表人物 Yann LeCun 与同事撰文,深入浅出解释什么是人工智能、人工智能如何影响我...

    华章科技
  • 前端学习(43)~js学习(二十):内置对象 - String

    上方代码中,当我们尝试打印str.aaa的时候,会发现打印结果为:undefined。也就是说,不能给 string 绑定属性和方法。

    Vincent-yuan
  • 【重磅】Yann LeCun 带你一文看懂人工智能:原理、技术和未来

    【新智元导读】Facebook 官方博客更新,FAIR 主管、深度学习代表人物 Yann LeCun 与同事撰文,深入浅出解释什么是人工智能、人工智能如何影响我...

    新智元
  • javascript字符串

    字符串是JavaScript中7种数据中的一种,用于表示由零个或多个16位的Unicode字符组成的字符序列。创建字符串有两种方式,一种是字面量,另一种是构造函...

    踏浪

扫码关注云+社区

领取腾讯云代金券