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
完毕,有一些特殊的编译选项可以查看相应的说明文档
(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; } }
完毕,有一些特殊的编译选项可以查看相应的说明文档
相关文章推荐
- Win7_64位系统下,使用VS2010编译stlport库和Boost库
- vc2005 使用Boost库的编译步骤.
- Windows环境下使用minGW编译boost库(windows下编译使用asio, thread等)
- mingw环境下boost库的编译和使用
- windows下使用boost库可以下载编译好的二进制安装包
- vc2005 使用Boost库的编译步骤.
- Boost库的源码编译以及使用
- Linux下编译使用boost库:
- 【转帖】vc2005 使用Boost库的编译步骤.
- vc2005 使用Boost库的编译步骤.
- Qt编译和使用boost库(附5.51的Boost下载)good
- Boost库的使用和编译
- 使用android ndk编译boost库
- MacOS10.8.3+Xcode4.6+IOS6.1 编译FFmpeg,简单使用
- c++中使用boost::regex(由于标准库中版本过低,导致不支持多行,需手动编译添加最新版的boost库)
- 使用Mingw32编译boost库
- windows下使用gcc编译boost库
- 编译并使用boost库(win7+boost1.60+vs2013)
- 编译并使用boost库(win7+boost1.63+vs2015+32位or 64位)
- boost库的编译和使用