nojhan / paradiseo

An evolutionary computation framework to (automatically) build fast parallel stochastic optimization solvers
https://nojhan.github.io/paradiseo/
Other
92 stars 33 forks source link

Bug Report: Compilation of es module #50

Closed ropinho closed 4 years ago

ropinho commented 4 years ago

When compiling es target on eo module, std::string is not recognized as a type.

On eoFunctor.h file, std::string is referenced but not is included.

The error log on cmake -DCMAKE_BUILD_TYPE=Release -DEO_ONLY=ON:

Scanning dependencies of target es
[ 23%] Building CXX object eo/src/es/CMakeFiles/es.dir/make_algo_scalar_es.cpp.o
[ 25%] Building CXX object eo/src/es/CMakeFiles/es.dir/make_algo_scalar_real.cpp.o
[ 26%] Building CXX object eo/src/es/CMakeFiles/es.dir/make_checkpoint_es.cpp.o
[ 28%] Building CXX object eo/src/es/CMakeFiles/es.dir/make_checkpoint_real.cpp.o
[ 30%] Building CXX object eo/src/es/CMakeFiles/es.dir/make_continue_es.cpp.o
In file included from /tmp/paradiseo/paradiseo-master/eo/src/es/../do/../eoContinue.h:28,
                 from /tmp/paradiseo/paradiseo-master/eo/src/es/../do/../eoCombinedContinue.h:33,
                 from /tmp/paradiseo/paradiseo-master/eo/src/es/../do/make_continue.h:37,
                 from /tmp/paradiseo/paradiseo-master/eo/src/es/make_continue_es.cpp:44:
/tmp/paradiseo/paradiseo-master/eo/src/es/../do/../eoFunctor.h:63:18: error: ‘string’ in namespace ‘std’ does not name a type
   63 |     virtual std::string className() const { return "unknown";}
      |                  ^~~~~~
/tmp/paradiseo/paradiseo-master/eo/src/es/../do/../eoFunctor.h:31:1: note: ‘std::string’ is defined in header ‘<string>’; did you forget to ‘#include <string>’?
   30 | #include <functional>
  +++ |+#include <string>
   31 |

Solution: Add #include <string> on eoFunctor.h file

nojhan commented 4 years ago

Fixed, thanks!