首先要安裝 boost dev library: libboost-all-dev
然後分為:
只有用到 boost 的 header: boostlambda.cpp
#include <boost/lambda/lambda.hpp>
#include <iostream>
#include <iterator>
#include <algorithm>
int main()
{
using namespace boost::lambda;
typedef std::istream_iterator<int> in;
std::for_each(
in(std::cin), in(), std::cout << (_1 * 3) << " " );
}
這樣build command 就不用特別加什麼:
g++ boostlambda.cpp
如果包含 library,以這個例子,用到 boost_regex : boostregex.cpp
#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;
}
}
這樣 build command 就要加上 boost library
g++ boostregex.cpp -lboost_regex
如果是要 cross build for embedded.列如 for arm.
先 cross build boost library,假設build 好都放在 /dm1lib/ (include & lib)
compiple 就只要指定 additional include path (-I)和 additional libary path (-L)就可以...
aarch64-linux-gnu-g++ fexist.cpp -I/dm1lib/include -lboost_system -lboost_filesystem -L/dm1lib/lib
沒有留言:
張貼留言