您的位置:首页 > 其它

macos下编译使用boost库

2013-02-04 17:53 363 查看
有两种方法:

(1)采用macport直接安装库中已经编译好的,但是网速慢的时候真的是太慢了

(2)直接下载源码包自己编译,下面记录采用这种方式的基本步骤

下载boost的源码 http://sourceforge.net/projects/boost/?source=dlp
解压

boost库都是源码,而且在头文件中大部分的代码都已经实现了,因此可以直接链接头文件进行就编译就行了,也就是不需要提前编译成库就可以使用,当然除了下面几个库之外

Boost.Filesystem

Boost.IOStreams

Boost.ProgramOptions

Boost.Python

Boost.Regex

Boost.Serialization

Boost.Signals

Boost.Thread

Boost.Wave

单独编译一个库也非常的简单,下面以regex库来举例说明步骤
./bootstrap.sh --prefix=/opt/local --with-libraries=regex

./bjam install

在/opt/local的lib目录和include目录就会看到相应的已经编译好的boost regex库了

写一个简单的程序测试一下
用vi输入下面的代码,文件名为reg.cpp

编译 g++ reg.cpp -I /opt/local/include -o test /opt/local/lib/libboost_regex.a

#include <boost/regex.hpp>
#include <iostream>
#include <string>

int main()
{
std::string line;
boost::regex pat( "^Subject: (Re: |Aw: )*(.*)" );

while (std::cin)
{
std::getline(std::cin, line);
boost::smatch matches;
if (boost::regex_match(line, matches, pat))
std::cout << matches[2] << std::endl;
}
}


完毕,有一些特殊的编译选项可以查看相应的说明文档
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: