下载了boost,那个该解压到什么地方呀?是vs里,还是工程里?
#include <boost/spirit/core.hpp>时提示cannot open source file"boost/spirit/core.hpp",是在vs2010平台下在那个C++分论坛没人理。。,来此求助

解决方案 »

  1.   

    首先当然是下载boost源码:
    http://sourceforge.net/project/showfiles.php?group_id=7586&package_id=8041
    将下载下来的文件解压:
    $ tar -xf boost_1_41_0.tar.bz2
    大部分的boost文件都只有头文件,不需要安装,因此将上面解压所得放入指定位置即可:
    $ sudo cp -r boost_1_41_0/boost /usr/local/include
    此时已经可以使用boost中的大部分了
    $ vi my1stboost.cc
    输入以下示意程序#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) << " ");    std::cout << std::endl;    return 0;
        
    }
    编译运行:
    $ c++ -Wall -Werror  my1stboost.cc 
    $ echo 1 2 3 | ./a.out
    3 6 9编译其他库:
    首先回到boost库解压后的文件夹,之后运行:
    $ ./bootstrap.sh 
    $ sudo ./bjam install
    上述步骤默认安装在/usr/local中,如果需要指定安装文件夹,可以
    $ ./bootstrap.sh --prefix=installation/destination
    安装完毕后,做一个简单的测试:
    $ vi regex.cc
    输入以下程序:
    #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;
        }
        std::cout << std::endl;    return 0;
    }保存退出后
    $ c++ -I /usr/local/include/ regex.cc -o regex /usr/local/lib/libboost_regex.a
    $ ls
    a.out  my1stboost.cc  regex  regex.cc
    $ ./regex
    Subjec: Re: hello        <= 用户输入
    Subject: Re: hello       <= 用户输入
    hello                    <= 程序输出上述编译的时侯也可以通过-l选项链接:
    $ c++ -I /usr/local/include/ -lboost_re 
    详细出处参考:http://www.itqun.net/content-detail/71802.htmlgex regex.cc -o regex 
    得到的结果与前文一致
     
    本来想为boost库生成用于vim自动补全的tags文件,但是产生出来的文件达到1.5G,只好放弃了详细出处参考:http://www.itqun.net/content-detail/71802_2.html帮你查了一下,看有用不
      

  2.   

    楼上的你瞎写什么啊,你发的是linux下的配置,人家问的是vs 看都没看明白就瞎写。如果不放在工作目录下你可以项目——配置属性——》C++——》附加包含目录,然后把包含的目录加进来。
    如果放在工作目录下你直接用#include "..\\boost\\spirit\\core"就可以引用了。 记住,是相对于项目的路径