volcoma/EtherealEngine

Failed to compile clean - task system error template

ExQDev opened this issue · 8 comments

Building of clean repo(building as in readme) fails at these lines:

[ 74%] Building CXX object engine/core/tasks/CMakeFiles/tasks.dir/task_system.cpp.o
In file included from EtherealEngine/engine/core/tasks/../common/nonstd/type_traits.hpp:6:0,
                 from EtherealEngine/engine/core/tasks/future_traits.hpp:2,
                 from EtherealEngine/engine/core/tasks/task_system.h:4,
                 from EtherealEngine/engine/core/tasks/task_system.cpp:1:
EtherealEngine/engine/core/tasks/../common/nonstd/traits/is_detected.hpp:53:16: error: template declaration of ‘constexpr const bool nonstd::is_detected_v’
 constexpr bool is_detected_v = is_detected<Op, Args...>::value;
                ^
....[same errors]....

Does anyone know why and how to solve?

What compiler/platform are you building with? You should have at least c++14 support

I`m using LMDE2(Linux Mint Debian Edition) x64, my gcc supports c++14, and cmake tells me that it is enabled, but ¯_(ツ)_/¯

At least gcc 5.3.0 is required. What version is yours?

$ gcc --version
gcc (Debian 4.9.2-10+deb8u1) 4.9.2

Oh...
But... what about --std=c++14?

And, how I can upgrade my gcc, if it tells me that it is the latest gcc?

The flag would enable the 14 features implemented by the compiler. That doesn't mean it is full featured. Also you don't have to use the flag with my cmake as it enforces it. To upgrade gcc... like any other package on Linux. sudo apt-get install ... check it on the web how to upgrade the default compiler. If you install a specific version and do not update the default one then you need to specify the specific version when you run the cmake with the CMAKE_C_COMPILER and CMAKE_CXX_COMPILER

Sorry, but apt says that there is no another version of gcc, and I have the latest

That means your distribution is pretty old you should download a newer gcc from a different place. Check how to do all that on the web.

Thank you