在Debian下编写 boost thread 例程测试

原创
2020/09/28 21:05
阅读数 132
$sudo apt-get install libboost-thread1.67-dev

首先默认的Debian系统是没有g++的需要安装 

$sudo apt-get install g++
#include <iostream>
#include <boost/thread.hpp>

#define len 1000000000L

static void f(unsigned long a, unsigned long b, unsigned long *va)
{
    for (*va = 0; a < b; a++)
        *va += a;
}

int main()
{
    unsigned long va = 0;
    boost::thread a(f, 0l,  2* len, &va);
    a.join();
    std::cout << va  << std::endl;
    return 0;
}

Debian系统默认也不包含boost_thread 

$g++ boost_thread_demo.c -o thread_test_demo

$g++.c:2:10: fatal error: boost/thread.hpp: No such file or directory
 #include <boost/thread.hpp>
          ^~~~~~~~~~~~~~~~~~

那么需要安装boost_thread, 这里我们选择开发包

$ sudo apt-get install libboost-thread1.67-dev
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
  libboost-atomic1.67-dev libboost-atomic1.67.0 libboost-chrono1.67-dev libboost-chrono1.67.0 libboost-date-time1.67-dev
  libboost-date-time1.67.0 libboost-serialization1.67-dev libboost-serialization1.67.0 libboost-system1.67-dev libboost-system1.67.0
  libboost-thread1.67.0 libboost1.67-dev
Suggested packages:
  libboost1.67-doc libboost-container1.67-dev libboost-context1.67-dev libboost-coroutine1.67-dev libboost-exception1.67-dev
  libboost-fiber1.67-dev libboost-filesystem1.67-dev libboost-graph1.67-dev libboost-graph-parallel1.67-dev libboost-iostreams1.67-dev
  libboost-locale1.67-dev libboost-log1.67-dev libboost-math1.67-dev libboost-mpi1.67-dev libboost-mpi-python1.67-dev libboost-numpy1.67-dev
  libboost-program-options1.67-dev libboost-python1.67-dev libboost-random1.67-dev libboost-regex1.67-dev libboost-signals1.67-dev
  libboost-stacktrace1.67-dev libboost-test1.67-dev libboost-timer1.67-dev libboost-type-erasure1.67-dev libboost-wave1.67-dev
  libboost1.67-tools-dev libmpfrc++-dev libntl-dev
The following NEW packages will be installed:
  libboost-atomic1.67-dev libboost-atomic1.67.0 libboost-chrono1.67-dev libboost-chrono1.67.0 libboost-date-time1.67-dev
  libboost-date-time1.67.0 libboost-serialization1.67-dev libboost-serialization1.67.0 libboost-system1.67-dev libboost-system1.67.0
  libboost-thread1.67-dev libboost-thread1.67.0 libboost1.67-dev
0 upgraded, 13 newly installed, 0 to remove and 3 not upgraded.
Need to get 11.5 MB of archives.
After this operation, 159 MB of additional disk space will be used.
Do you want to continue? [Y/n] y

编译时加上依赖的库

g++ boost_thread_demo.c -o thread_test_demo -lboost_thread -lboost_system -lpthread

 

展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
0 评论
0 收藏
0
分享
返回顶部
顶部