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:
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,
/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
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?