Le 26/08/2016 à 15:59, MAURICE Jean - externe a écrit :

I apologize : english is not my natural langage.

 

I have been hired to modify a very big app that seems to be very complicated. It’s my second day of work here !

 

After copying the source files on my brand new computer, I try to build the app. Building all the libraries (including Boost) seems ok but the final build return an error :

How have you built Boost?

 

g++ -W -Wall -fPIC -I ./ -I ../sources/include -I ../../kheopsToolBox/sources/include/  ……  -I ../../Libraries/Linux/Boost/include -D NDEBUG -O2 -o ../../build/linux/kheopslauncher/Tests/Binary/Release/LauncherTest ../… ../../Libraries/Linux/Boost/lib  -lkheopsdataaccess …-lboost_program_options -lboost_system -lboost_filesystem -lboost_date_time -lboost_regex -lboost_thread

/usr/bin/ld: warning: libboost_chrono.so.1.50.0, needed by ../../Libraries/Linux/Boost/lib/libboost_thread.so, not found (try using -rpath or -rpath-link)

../../build/linux/kheopsdataaccess/Binary/Release/libkheopsdataaccess.so: référence indéfinie vers « boost::filesystem::detail::copy_file(boost::filesystem::path const&, boost::filesystem::path const&, boost::filesystem::copy_option::enum_type, boost::system::error_code*) »

collect2: error: ld returned 1 exit status

 

first is the warning “libboost_chrono.so.1.50.0 not found” important ?

Yes. You must add -lboost_chrono.

 

second about “undefined reference to  « boost::filesystem::detail::copy_file …”, I read on internet that we have to write

#define BOOST_NO_CXX11_SCOPED_ENUMS

#include <boost/filesystem.hpp>

#undef BOOST_NO_CXX11_SCOPED_ENUMS

in some .h files. I did it but with no success.

 

I gues that you are compiling with C++03. Then you shouldn't need this and you should do that anyway.
Could you check if BOOST_NO_CXX11_SCOPED_ENUMS is defined in your build and in Boost build?

Can you give me the first steps towards the solution ?


Let us know more.

Vicente