Ubuntu Eclipse Boost 配置

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

#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
", p_);
	}
};

void hello(int value) {
	printf("hello %d
", 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 编译成功。

原文地址:https://www.cnblogs.com/zhouzhuo/p/3735678.html