zoukankan      html  css  js  c++  java
  • 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 编译成功。

  • 相关阅读:
    使用gitblit搭建一个简单的局域网服务器
    Git的一些基本操作和命令
    oracle 常用函数
    Windows 下用 gogs 配置局域网 git server
    慎用 new、delete
    探究functools模块wraps装饰器的用途
    处理QMenu的triggered信号时遇到的一个问题
    浅析MySQL中exists与in的使用
    java-工具类-读取配置文件
    Java web的基本概念
  • 原文地址:https://www.cnblogs.com/zhouzhuo/p/3735678.html
Copyright © 2011-2022 走看看