如何使用g ++在Linux上使用boost / shared_ptr.hpp编译c ++程序

时间:2013-06-03 08:35:14

标签: c++ boost shared-ptr dynamic-linking

我使用boost shared_ptr头文件编写了一个程序。如何编译这个程序?我在编译时用-l g ++选项提到了什么库。

1 个答案:

答案 0 :(得分:6)

指定包含包含头文件的boost目录的目录。例如:

  • 加强安装:

      

    /home/user/boost_1_53_0/boost/shared_ptr.hpp

  • 包括:

    #include <boost/shared_ptr.hpp>
    
  • 进行编译(注意-I,而不是-l):

      

    g ++ -I / home / user / boost_1_53_0 main.cpp -o main

请注意,不需要动态链接,因为boost::shared_ptr是一个模板,并且已在头文件中完全定义。

如果您的编译器支持C ++ 11,请使用std::shared_ptr<>代替(由Roee评论):

  • 包括:

    #include <memory> // use std::shared_ptr<T>
    
  • 编译:

      

    g ++ -std = c ++ 11 main.cpp -o main