简体   繁体   中英

how to use boost in linux

I'm trying to use the shared pointer class(?) from boost. I have downloded boost and extracted it to a subfolder(boost) in my source folder (src). I have then added a line:

#include "boost/shared_ptr.hpp"

When I try to compile, I get an error:

error: boost/smart_ptr/shared_ptr.hpp: No such file or directory

What do I have to add for the program to compile?

I'm working on a scientific linux machine without root privliges

You will need to, with g++ , add the directory as a compile option like g++ -I./boost ... or basically add as a command line option -I directly followed without a space by the relative or absolute path where you have installed your boost library. Keep in mind also for future reference that some elements of boost, like the threading library also require some libraries to be linked against, and you will have to also include those file-paths at compile time using the -L option ... that isn't the case with boost::shared_ptr , but just giving you a head's up.

Assuming you have installed boost to some subdirectory of your home directory, you'll need to do one of these to specify where the compiler should look for the boost header files:

  • add a -I flag to the compiler command line ( GCC docs )
  • set the CPLUS_INCLUDE_PATH environment variable ( GCC docs )

You can add gcc -I option. Documentation .

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM