GVKun编程网logo

centos 安装Boost库(centos7安装boost)

9

在本文中,您将会了解到关于centos安装Boost库的新资讯,同时我们还将为您解释centos7安装boost的相关在本文中,我们将带你探索centos安装Boost库的奥秘,分析centos7安装

在本文中,您将会了解到关于centos 安装Boost库的新资讯,同时我们还将为您解释centos7安装boost的相关在本文中,我们将带你探索centos 安装Boost库的奥秘,分析centos7安装boost的特点,并给出一些关于C++搭建集群聊天室(一):安装boost库、CentOS 5.5下安装Bind9.6、centos 6.7安装xgboost、CentOS 7 安装 Boost 1.61的实用技巧。

本文目录一览:

centos 安装Boost库(centos7安装boost)

centos 安装Boost库(centos7安装boost)

一、安装

刚刚使用linux系统,对很多系统命令和操作方式还不是很熟悉。想装个boost库,在网上看了几篇教程根本没弄明白,终于,用三行命令解决了。要能使用yum安装,首先你得确认你的linux服务器能否连上因特网,因为yum需要连接到因特网下载。

yum install boost

yum install boost-devel

yum install boost-doc

二、使用

对于我这样的小白来说,使用动态链接库时要添加链接我是不知道的,后来也是自己慢慢摸索出来了。

首先测试头文件。

[cpp] view plain copy
  1. #include<iostream>
  2. #include<boost/filesystem.hpp>
  3. intmain()
  4. {
  5. std::cout<<"hello,world"<<std::endl;
  6. return0;
  7. }
使用 g++ test.cpp -o test 编译 ./test 执行
再测试需要用到二进制库的功能模块

  • usingnamespaceboost::filesystem;
  • intmain(intargc,char*argv[])
  • {
  • if(argc<2){
  • "Usage:tut1path\n";
  • return1;
  • }
  • std::cout<<argv[1]<<""<<file_size(argv[1])<<std::endl;
  • return0;
  • 注意:这时我使用的是 g++ test.cpp -o test -lboost_system -lboost_filesystem

    执行 ./test,输出

    Usage: tut1 path
    恭喜你,成功了!
  • C++搭建集群聊天室(一):安装boost库

    C++搭建集群聊天室(一):安装boost库

    请添加图片描述

    项目说明

    没有在Windows下开发的打算,代码也是用vim直接干,所以本系列博客是基于Linux平台的开发。
    我用的是CentOS8,别的也可以,细微差别而已。
    全程root权限下去玩。
    不要被环境耽搁了,配个环境赶紧上车吧。

    文章目录

      • 项目说明
      • 前期资源下载
      • 安装开始
      • 验证是否安装成功

    前期资源下载

    首先你可以去官网下,也可以在我这边下,提取码:xxf0

    如果不知道怎么把文件传输到Linux上的小伙伴建议直接在Linux里面下载,或者可以用Xftp传上去。


    在开始编译boost之前,建议先将依赖包都装一遍:

    yum -y install gcc gcc-c++ python python-devel libicu libicu-devel zlib zlib-devel bzip2 bzip2-devel
    

    其中,部分依赖包的提示信息如下:

    提示信息【Unicode/ICU support for Boost.Regex?... not found.】,依赖包【 libicu libicu-devel 】
    提示信息【error: no command provided, default command ''g++'' not found】,依赖包【 gcc-c++ 】
    提示信息【- zlib                     : no】,依赖包【 zlib zlib-devel 】
    提示信息【- bzip2                    : no】,依赖包【 bzip2 bzip2-devel 】
    

    注意:如果编译失败了,建议用 rm -rf 全删了之后,重新解压,重新编译。


    以下以我的版本为主讲解。


    安装开始

    tar -zxvf boost_1_69_0.tar.gz
    
    cd boost_1_69_0/
    
    ./bootstrap.sh
    
    ./b2
    

    好,这里要好久,这时候你可以去干点别的了。我要没记错我好像运行了大概有四十多分钟吧,反正半小时是有了。

    编译完成后,会有如下打印:
    The Boost C++ Libraries were successfully built!

    然后会给一堆的警告啊,

    /home/tony/package/boost_1_69_0
    /home/tony/package/boost_1_69_0/stage/lib
    类似这样的
    

    不急:

    ./b2 install
    

    验证是否安装成功

    运行以下代码:

    #include <iostream>
    #include <boost/bind.hpp>
    #include <string>
    
    using namespace std;
    
    class Hello
    {
    public:
    	void say(string name) {
    		cout << name << " Nice to meet you!" << endl; 
    	}
    };
    
    int main()
    {
    	Hello h;
    	auto func = boost::bind(&Hello::say, &h, "hey boy");
    	func();
    	return 0;
    }
    

    平时该怎么编译就怎么编译,没有外库。

    本文同步分享在 博客“看,未来”(CSDN)。
    如有侵权,请联系 support@oschina.cn 删除。
    本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

    CentOS 5.5下安装Bind9.6

    CentOS 5.5下安装Bind9.6

    安装bind前先安装gcc,配置好yum源,yum -y install gcc,如果有run.pid报错,直接rm -rf /var/run/yum.pid (解决yum-updatesd服务正运行的情况)

    下载 bind9.6到/root/Desktop,先进至目录里,然后wget ftp://ftp.isc.org/isc/bind9/9.6.0-P1/bind-9.6.0-P1.tar.gz

    解压bind-9.6.0-P1.tar.gz

    # tar zxvf bind-9.6.0-P1.tar.gz

    进入 bind-9.6.0-P1.gz文件夹

    # cd bind-9.6.0-P1

    创建安装目录,我是安装在 /opt/bind

    # mkdir /opt/bind

    编译,指定安装目录,开启多线程支持

    #./configure --prefix=/opt/bind --enable-threads --disable-openssl-version-check --disable-ipv6



    #Make 大约需要几分钟,只要不报错就继续下去。

    # make

    #Make install 安装

    # make install

    没有报错,就表示安装成功了。



    开始配置bind,接下来的过程是让rndc来管理bind9.6

    创建 rndc.conf文件,用bind自带程序生成

    进入/opt/bind/etc,将rndc.conf及named.conf生成

    # cd /opt/bind/etc

    # /opt/bind/sbin/rndc-confgen > /opt/bind/etc/rndc.conf

    把rndc.conf 中的key信息输出到 named.conf 中

    # tail -10 rndc.conf | head -9 | sed -e s/#\ //g > named.conf





    这里强调一下,rndc.conf与named.conf的key值必须完全一样,而且并不需要生成rndc.key,这个问题纠缠了我大约3个小时



    # vim named.conf

    key "rndc-key" {

    algorithm hmac-md5;

    secret "WeHHAt0lui+9WihUW6HdsQ==";

    };



    controls {

    inet 127.0.0.1 port 953

    allow { 127.0.0.1; } keys { "rndc-key"; };

    };

    options {

    directory "/opt/bind/var/named";

    };



    zone "." IN {

    type hint;

    file "named.ca";

    };



    zone "localhost" IN {

    type master;

    file "localhost.zone";

    };



    zone "0.0.127.in-addr.arpa" IN {

    type master;

    file "named.local";

    allow-update { none; };

    };



    zone "linuxidc.com" IN {

    type master;

    file "linuxidc.zone";

    };

    zone "88181.com" IN {

    type master;

    file "88181.zone";



    };
    创建named文件夹:



    # mkdir /opt/bind/var/named



    进入named文件夹



    # cd /opt/bind/var/named/





    写入以下内容

    # vi localhost.zone

    写入以下内容:

    $TTL 86400

    $ORIGIN localhost.

    @ 1D IN SOA @ root (

    42 ; serial (d. adams)

    3H ; refresh

    15M ; retry

    1W ; expiry

    1D ) ; minimum



    1D IN NS @

    1D IN A 127.0.0.1





    将跟服务器的信息导入到/opt/bind/var/named/named.ca文件中



    # dig -t NS . >/opt/bind/var/named/named.ca



    创建文件named.local



    #vi named.local



    $TTL 86400

    @ IN SOA localhost. root.localhost. (

    1997022700 ; Serial

    28800 ; Refresh

    14400 ; Retry

    3600000 ; Expire

    86400 ) ; Minimum

    IN NS localhost.



    1 IN PTR localhost.





    创建linuxidc.zone



    # vi linuxidc.zone



    $TTL 86400

    @ IN SOA linuxidc.com. root.linuxidc.com. (

    57 ; serial (d. adams)

    3H ; refresh

    15M ; retry

    1W ; expiry

    1D ) ; minimum



    IN NS dns.linuxidc.com.

    IN MX 5 mail



    dns IN A 121.101.211.72

    dns1 IN A 121.101.211.72

    dns2 IN A 121.101.211.74

    www IN A 121.101.211.76



    创建88181.zone



    #vi 88181.zone



    $TTL 86400

    @ IN SOA 88181.com. root.88181.com. (

    57 ; serial (d. adams)

    3H ; refresh

    15M ; retry

    1W ; expiry

    1D ) ; minimum



    IN NS dns.88181.com.

    IN MX 5 mail



    dns IN A 121.101.211.72

    dns1 IN A 121.101.211.72

    dns2 IN A 121.101.211.74

    www IN A 192.168.1.179



    特别注意:bind的配置文档是区分大小写的。

    下面就可以启动bind来测试安装是否成功了

    # /opt/bind/sbin/named –gc /opt/bind/etc/named.conf &

    加 –gc 参数,可以显示出启动日志,以便出错排查。

    如果运行结果最后一行显示

    Running

    表明安装并启动成功。



    测试rndc命令 /opt/bind/sbin/rndc status,正确的话应该有状态提示,我一般是直接编辑vim /root/.bashrc加进一个alias rndc9='/opt/bind/sbin/rndc'



    把named 添加到启动项,随操作系统一起启动。

    # cd /etc/rc.d

    # vim rc.local

    在最后添加以下内容

    /opt/bind/sbin/named /opt/bind/etc/named.conf &

    退出保存。

    可以尝试重启服务器,然后用命令nslookup及dig测试,或用pa axu | grep named,结束此服务用命令killall named







    附加从DNS配置文件:



    key "rndc-key" {

    algorithm hmac-md5;

    secret "c97aVpbK9mWdlbefliG7qg==";

    };



    controls {

    inet 127.0.0.1 port 953

    allow { 127.0.0.1; } keys { "rndc-key"; };

    };

    options {

    directory "/opt/bind/var/named";



    };



    zone "." IN {

    type hint;

    file "named.ca";

    };



    zone "localhost" IN {

    type master;

    file "localhost.zone";

    };



    zone "0.0.127.in-addr.arpa" IN {

    type master;

    file "named.local";

    allow-update { none; };

    };



    zone "linuxidc.com" IN {

    type slave;

    file "slaves/linuxidc.salve";

    masters{192.168.1.179;};



    };

    zone "88181.com" IN {

    type slave;

    file "slaves/88181.salve";

    masters{192.168.1.179;};

    附加防火墙策略


    [root@linuxidc opt]# vi vivabj069.sh

    #! /bin/bash


    #start iptables services

    service iptables restart


    #Flush all the policy

    iptables -F


    # setting the default policy

    iptables -P INPUT DROP

    iptables -P FORWARD DROP

    iptables -P OUTPUT DROP


    iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

    iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT


    #allow access 22,80 from LAN by tcp

    iptables -A INPUT -p tcp -m tcp -s 0/0 --dport 22 -j ACCEPT

    iptables -A OUTPUT -p tcp -m tcp --dport 22 -j ACCEPT

    iptables -A OUTPUT -p tcp --sport 20020:20030 -j ACCEPT

    iptables -A INPUT -p tcp --dport 20020:20030 -j ACCEPT

    iptables -A INPUT -p tcp --dport 21 -j ACCEPT

    iptables -A INPUT -p tcp --dport 20 -j ACCEPT

    iptables -A OUTPUT -p tcp --sport 21 -j ACCEPT

    iptables -A OUTPUT -p tcp --sport 20 -j ACCEPT

    iptables -A INPUT -p tcp --dport 8080 -j ACCEPT

    iptables -A OUTPUT -p tcp --dport 8080 -j ACCEPT

    iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT

    iptables -A OUTPUT -p tcp -m tcp --dport 80 -j ACCEPT


    iptables -A INPUT -s 0.0.0.0/0 -d 0.0.0.0/0 -p tcp -m tcp --dport 953 -j ACCEPT

    iptables -A INPUT -s 0.0.0.0/0 -d 0.0.0.0/0 -p tcp -m tcp --sport 953 -j ACCEPT

    iptables -A INPUT -s 0.0.0.0/0 -d 0.0.0.0/0 -p udp -m udp --sport 953 -j ACCEPT

    iptables -A INPUT -s 0.0.0.0/0 -d 0.0.0.0/0 -p udp -m udp --dport 953 -j ACCEPT

    iptables -A OUTPUT -s 0.0.0.0/0 -d 0.0.0.0/0 -p tcp -m tcp --dport 953 -j ACCEPT

    iptables -A OUTPUT -s 0.0.0.0/0 -d 0.0.0.0/0 -p tcp -m tcp --sport 953 -j ACCEPT

    iptables -A OUTPUT -s 0.0.0.0/0 -d 0.0.0.0/0 -p udp -m udp --sport 953 -j ACCEPT

    iptables -A OUTPUT -s 0.0.0.0/0 -d 0.0.0.0/0 -p udp -m udp --dport 953 -j ACCEPT


    iptables -A INPUT -s 0.0.0.0/0 -d 0.0.0.0/0 -p tcp -m tcp --dport 53 -j ACCEPT

    iptables -A INPUT -s 0.0.0.0/0 -d 0.0.0.0/0 -p tcp -m tcp --sport 53 -j ACCEPT

    iptables -A INPUT -s 0.0.0.0/0 -d 0.0.0.0/0 -p udp -m udp --dport 53 -j ACCEPT

    iptables -A INPUT -s 0.0.0.0/0 -d 0.0.0.0/0 -p udp -m udp --sport 53 -j ACCEPT

    iptables -A OUTPUT -s 0.0.0.0/0 -d 0.0.0.0/0 -p tcp -m tcp --dport 53 -j ACCEPT

    iptables -A OUTPUT -s 0.0.0.0/0 -d 0.0.0.0/0 -p tcp -m tcp --sport 53 -j ACCEPT

    iptables -A OUTPUT -s 0.0.0.0/0 -d 0.0.0.0/0 -p udp -m udp --sport 53 -j ACCEPT

    iptables -A OUTPUT -s 0.0.0.0/0 -d 0.0.0.0/0 -p udp -m udp --dport 53 -j ACCEPT


    执行防火墙:


    附CNAME 解析记录

    # sh vivabj069.sh


    # vi linuxidc.zone


    $TTL 86400

    @ IN SOA linuxidc.com. root.linuxidc.com. (

    57 ; serial (d. adams)

    3H ; refresh

    15M ; retry

    1W ; expiry

    1D ) ; minimum


    IN NS dns.linuxidc.com.

    IN MX 5 mail


    dns IN A 121.101.211.72

    dns1 IN A 121.101.211.72

    dns2 IN A 121.101.211.74

    www IN A 121.101.211.76

    wwww IN CNAME www.linuxidc.com.


    注意域名后面必须跟“.”;


    本篇文章来源于 Linux公社网站 原文链接:http://www.linuxidc.com/Linux/2013-02/79889p3.htm

    centos 6.7安装xgboost

    centos 6.7安装xgboost


    1、升级系统GCC yum install gcc

    2、安装anaconda

    3、下载xgboost 的源码,解压。如果最新版不能安装,就试试老版本。

    [root@bogon redhat]# wget https://github.com/dmlc/xgboost/archive/0.47.tar.gz

    4、编译

    [root@bogon xgboost-0.47]# pwd
    /data0/kaggle/redhat/xgboost-0.47
    [root@bogon xgboost-0.47]# make

    5、安装python模块,使用anaconda的Python

    [root@bogon xgboost-0.47]# cd python-package/
    [root@bogon python-package]# /root/anaconda2/bin/python2.7 setup.py install


    6、官方参考文档:

    http://xgboost.readthedocs.io/en/latest/build.html

    CentOS 7 安装 Boost 1.61

    CentOS 7 安装 Boost 1.61

    CentOS 7 安装 Boost 1.61

     

    1. 到官网下载最新版的 boost,http://www.boost.org/users/history/version_1_61_0.html

    2. 解压:

    tar zxvf boost_1_61_0.tar.gz

    3. 进入解压后的目录 boost_1_61_0,执行:

    sudo ./bootstrap.sh --prefix=/usr/local/include/boost

    4. 安装:

    sudo ./b2 install

    5. 安装 Boost.Build

    (1) 进入 boost_1_61_0 目录下的 tools/build 目录,执行:

    sudo ./bootstrap.sh

    (2) 安装

    sudo ./b2 install --prefix=/usr/local/include/boost

     

     
     

    今天的关于centos 安装Boost库centos7安装boost的分享已经结束,谢谢您的关注,如果想了解更多关于C++搭建集群聊天室(一):安装boost库、CentOS 5.5下安装Bind9.6、centos 6.7安装xgboost、CentOS 7 安装 Boost 1.61的相关知识,请在本站进行查询。

    本文标签: