首页 > 代码库 > Ubuntu Eclipse Boost 配置

Ubuntu Eclipse Boost 配置

Boost 是我直接 sudo apt-get install 的,系统会帮我安装到 usr/include/boost 和 usr/lib 下,因此我可以直接使用 -lboost_system 库, 或直接 include <boost/thread.hpp> 而不用做额外的配置

 

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include <boost/thread.hpp>
#include <iostream>
#include <stdio.h>
 
class SpecificWork {
private:
    int p_;
public:
    SpecificWork(int value) : p_(value) { }
 
    void operator()() {
        printf("Value is %d\n", p_);
    }
};
 
void hello(int value) {
    printf("hello %d\n", value);
}
 
int main() {
    int i = 1;
    SpecificWork work(i);
    boost::thread worker(&hello, i); //ok
    worker.join();
}

假设我已经写好这段程序了, 在命令行下直接编译的命令:

g++ sample.cpp -lboost_system -lboost_thread

 

现在,我把这段程序复制到 eclipse 下, 唯一需要修改的配置是:

右击项目,properties, settings, GCC C++ Linker, Libraries, Libraries(-l) 中添加两项 boost_system, boost_thread

另外, Library Search Path 是对那些没有将 boost library 放到系统默认库(/usr/lib)的同学准备的

这都是自己逐渐摸索出来的, eclipse 的配置无非是将手动转成自动, 当配置卡住时,可以参考编译程序时控制台的输出, 比如刚开始我在 eclipse 库中写的是 -lboost_system, 发现控制台出现的是 -l -lboost_system. 我再用命令行编译一遍,发现编译失败,于是就去掉了 -l 编译成功。