Beginner with boost shared pointers

Dear all,

I am trying to compile a c++ program that uses the library boost::shared pointers.

I have understood that if I want to compile and link it correctly, I must add the options -l(NAME OF THE LIBRARY) and -L(name of the directory) in g++.

I have used the command ldconfig -p to get the list of installed libraries in my system, but I do not find the one for shared pointers.

Below there is the subset of that list that contains the word "boost".

How do I locate the correct library for my purpose?


	libboost_wserialization.so.5 (libc6,x86-64) => /usr/lib64/libboost_wserialization.so.5
	libboost_wserialization.so (libc6,x86-64) => /usr/lib64/libboost_wserialization.so
	libboost_wserialization-mt.so.5 (libc6,x86-64) => /usr/lib64/libboost_wserialization-mt.so.5
	libboost_wserialization-mt.so (libc6,x86-64) => /usr/lib64/libboost_wserialization-mt.so
	libboost_wave-mt.so.5 (libc6,x86-64) => /usr/lib64/libboost_wave-mt.so.5
	libboost_wave-mt.so (libc6,x86-64) => /usr/lib64/libboost_wave-mt.so
	libboost_unit_test_framework.so.5 (libc6,x86-64) => /usr/lib64/libboost_unit_test_framework.so.5
	libboost_unit_test_framework.so (libc6,x86-64) => /usr/lib64/libboost_unit_test_framework.so
	libboost_unit_test_framework-mt.so.5 (libc6,x86-64) => /usr/lib64/libboost_unit_test_framework-mt.so.5
	libboost_unit_test_framework-mt.so (libc6,x86-64) => /usr/lib64/libboost_unit_test_framework-mt.so
	libboost_thread-mt.so.5 (libc6,x86-64) => /usr/lib64/libboost_thread-mt.so.5
	libboost_thread-mt.so (libc6,x86-64) => /usr/lib64/libboost_thread-mt.so
	libboost_system.so.5 (libc6,x86-64) => /usr/lib64/libboost_system.so.5
	libboost_system.so (libc6,x86-64) => /usr/lib64/libboost_system.so
	libboost_system-mt.so.5 (libc6,x86-64) => /usr/lib64/libboost_system-mt.so.5
	libboost_system-mt.so (libc6,x86-64) => /usr/lib64/libboost_system-mt.so
	libboost_signals.so.5 (libc6,x86-64) => /usr/lib64/libboost_signals.so.5
	libboost_signals.so (libc6,x86-64) => /usr/lib64/libboost_signals.so
	libboost_signals-mt.so.5 (libc6,x86-64) => /usr/lib64/libboost_signals-mt.so.5
	libboost_signals-mt.so (libc6,x86-64) => /usr/lib64/libboost_signals-mt.so
	libboost_serialization.so.5 (libc6,x86-64) => /usr/lib64/libboost_serialization.so.5
	libboost_serialization.so (libc6,x86-64) => /usr/lib64/libboost_serialization.so
	libboost_serialization-mt.so.5 (libc6,x86-64) => /usr/lib64/libboost_serialization-mt.so.5
	libboost_serialization-mt.so (libc6,x86-64) => /usr/lib64/libboost_serialization-mt.so
	libboost_regex.so.5 (libc6,x86-64) => /usr/lib64/libboost_regex.so.5
	libboost_regex.so (libc6,x86-64) => /usr/lib64/libboost_regex.so
	libboost_regex-mt.so.5 (libc6,x86-64) => /usr/lib64/libboost_regex-mt.so.5
	libboost_regex-mt.so (libc6,x86-64) => /usr/lib64/libboost_regex-mt.so
	libboost_python.so.5 (libc6,x86-64) => /usr/lib64/libboost_python.so.5
	libboost_python.so (libc6,x86-64) => /usr/lib64/libboost_python.so
	libboost_python-mt.so.5 (libc6,x86-64) => /usr/lib64/libboost_python-mt.so.5
	libboost_python-mt.so (libc6,x86-64) => /usr/lib64/libboost_python-mt.so
	libboost_program_options.so.5 (libc6,x86-64) => /usr/lib64/libboost_program_options.so.5
	libboost_program_options.so (libc6,x86-64) => /usr/lib64/libboost_program_options.so
	libboost_program_options-mt.so.5 (libc6,x86-64) => /usr/lib64/libboost_program_options-mt.so.5
	libboost_program_options-mt.so (libc6,x86-64) => /usr/lib64/libboost_program_options-mt.so
	libboost_prg_exec_monitor.so.5 (libc6,x86-64) => /usr/lib64/libboost_prg_exec_monitor.so.5
	libboost_prg_exec_monitor.so (libc6,x86-64) => /usr/lib64/libboost_prg_exec_monitor.so
	libboost_prg_exec_monitor-mt.so.5 (libc6,x86-64) => /usr/lib64/libboost_prg_exec_monitor-mt.so.5
	libboost_prg_exec_monitor-mt.so (libc6,x86-64) => /usr/lib64/libboost_prg_exec_monitor-mt.so
	libboost_math_tr1l.so.5 (libc6,x86-64) => /usr/lib64/libboost_math_tr1l.so.5
	libboost_math_tr1l.so (libc6,x86-64) => /usr/lib64/libboost_math_tr1l.so
	libboost_math_tr1l-mt.so.5 (libc6,x86-64) => /usr/lib64/libboost_math_tr1l-mt.so.5
	libboost_math_tr1l-mt.so (libc6,x86-64) => /usr/lib64/libboost_math_tr1l-mt.so
	libboost_math_tr1f.so.5 (libc6,x86-64) => /usr/lib64/libboost_math_tr1f.so.5
	libboost_math_tr1f.so (libc6,x86-64) => /usr/lib64/libboost_math_tr1f.so
	libboost_math_tr1f-mt.so.5 (libc6,x86-64) => /usr/lib64/libboost_math_tr1f-mt.so.5
	libboost_math_tr1f-mt.so (libc6,x86-64) => /usr/lib64/libboost_math_tr1f-mt.so
	libboost_math_tr1.so.5 (libc6,x86-64) => /usr/lib64/libboost_math_tr1.so.5
	libboost_math_tr1.so (libc6,x86-64) => /usr/lib64/libboost_math_tr1.so
	libboost_math_tr1-mt.so.5 (libc6,x86-64) => /usr/lib64/libboost_math_tr1-mt.so.5
	libboost_math_tr1-mt.so (libc6,x86-64) => /usr/lib64/libboost_math_tr1-mt.so
	libboost_math_c99l.so.5 (libc6,x86-64) => /usr/lib64/libboost_math_c99l.so.5
	libboost_math_c99l.so (libc6,x86-64) => /usr/lib64/libboost_math_c99l.so
	libboost_math_c99l-mt.so.5 (libc6,x86-64) => /usr/lib64/libboost_math_c99l-mt.so.5
	libboost_math_c99l-mt.so (libc6,x86-64) => /usr/lib64/libboost_math_c99l-mt.so
	libboost_math_c99f.so.5 (libc6,x86-64) => /usr/lib64/libboost_math_c99f.so.5
	libboost_math_c99f.so (libc6,x86-64) => /usr/lib64/libboost_math_c99f.so
	libboost_math_c99f-mt.so.5 (libc6,x86-64) => /usr/lib64/libboost_math_c99f-mt.so.5
	libboost_math_c99f-mt.so (libc6,x86-64) => /usr/lib64/libboost_math_c99f-mt.so
	libboost_math_c99.so.5 (libc6,x86-64) => /usr/lib64/libboost_math_c99.so.5
	libboost_math_c99.so (libc6,x86-64) => /usr/lib64/libboost_math_c99.so
	libboost_math_c99-mt.so.5 (libc6,x86-64) => /usr/lib64/libboost_math_c99-mt.so.5
	libboost_math_c99-mt.so (libc6,x86-64) => /usr/lib64/libboost_math_c99-mt.so
	libboost_iostreams.so.5 (libc6,x86-64) => /usr/lib64/libboost_iostreams.so.5
	libboost_iostreams.so (libc6,x86-64) => /usr/lib64/libboost_iostreams.so
	libboost_iostreams-mt.so.5 (libc6,x86-64) => /usr/lib64/libboost_iostreams-mt.so.5
	libboost_iostreams-mt.so (libc6,x86-64) => /usr/lib64/libboost_iostreams-mt.so
	libboost_graph.so.5 (libc6,x86-64) => /usr/lib64/libboost_graph.so.5
	libboost_graph.so (libc6,x86-64) => /usr/lib64/libboost_graph.so
	libboost_graph-mt.so.5 (libc6,x86-64) => /usr/lib64/libboost_graph-mt.so.5
	libboost_graph-mt.so (libc6,x86-64) => /usr/lib64/libboost_graph-mt.so
	libboost_filesystem.so.5 (libc6,x86-64) => /usr/lib64/libboost_filesystem.so.5
	libboost_filesystem.so (libc6,x86-64) => /usr/lib64/libboost_filesystem.so
	libboost_filesystem-mt.so.5 (libc6,x86-64) => /usr/lib64/libboost_filesystem-mt.so.5
	libboost_filesystem-mt.so (libc6,x86-64) => /usr/lib64/libboost_filesystem-mt.so
	libboost_date_time.so.5 (libc6,x86-64) => /usr/lib64/libboost_date_time.so.5
	libboost_date_time.so (libc6,x86-64) => /usr/lib64/libboost_date_time.so
	libboost_date_time-mt.so.5 (libc6,x86-64) => /usr/lib64/libboost_date_time-mt.so.5
	libboost_date_time-mt.so (libc6,x86-64) => /usr/lib64/libboost_date_time-mt.so



Thank you in advance,
Panecasareccio
Boost is (mostly) a header-only library, so you don't need to link anything for your particular purpose.

By the way, why use boost::shared_ptr when there is the perfectly good std::shared_ptr?
Hi, thanks for your reply.

The reason to use boost instead of std is that the code I will write must be inserted into a larger software that is not compatible with c++11 :-(

If I understand you well, you are saying that I must only include the .h file and then compile the code as simple as:

g++ mycode.cpp -o mycode

Am I correct?

If so, then another beginner-question comes to me: how do I locate the .h files I need?


Thank you again,
Panecasareccio.
boost has a utility that will extract the header files you need along with the dependencies: http://www.boost.org/doc/libs/release/tools/bcp/doc/html/index.html
Topic archived. No new replies allowed.