Boost logo

Boost Users :

Subject: [Boost-users] Fwd: Help needed with include path
From: David Aldrich (david.aldrich.ntml_at_[hidden])
Date: 2019-01-24 16:14:11


Hi
I am using Boost on Ubuntu 18.04 LTS, which has boost 1.65.1 installed. I
want to use boost 1.69, which I have installed on another server. I
specify that remote boost path in my makefile and make compiles my source
file with:

g++ -c -Wall -m64 -I/net/simdata/OpenSourceLibs/Boost/rel-1.69.0/
-fpic -O3 SINRCalculation.cpp -o _gnuRelease/SINRCalculation.o

Now that source file uses boost/multi_array.hpp. The above compiler
command gives error:

In file included from /usr/include/boost/multi_array.hpp:30:0,
                 from SINRCalculation.cpp:25:
/net/simdata/Hudson_OpenSourceLibs/Boost/rel-1.69.0/boost/type_traits.hpp:118:10:
fatal error: boost/type_traits/is_nothrow_swappable.hpp: No such file
or directory
 #include <boost/type_traits/is_nothrow_swappable.hpp>
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.

Now my copy of boost 1.69 does contain is_nothrow_swappable.hpp so, at
first sight, that error is surprising.

I think what is happening is the is_nothrow_swappable.hpp is being
searched for on the system library path (boost 1.65 does not have that
file), not the one I specified using -I.

Am I correct? If so, how can I force the compiler to use the boost
1.69 path consistently for all paths?



Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net