Skip to content

Can't compile this template #1

Description

@vincenzocorso

I want to build this template using Docker.
I'm on Ubuntu 22.04 and I have Docker 22.10.17

git clone --recursive https://github.com/openmultiplayer/basic-template
cd basic-template
# I set an UID in main.cpp
cd docker
UBUNTU_VERSION=22.04 sudo ./build.sh

It pulls the ubuntu:20.04 image (but I specified the 22.04 ?)
Then during the compilation it outputs some errors:

In file included from /code/network/bitstream.cpp:17:
/code/network/./bitstream.hpp:80:62: error: no template named 'is_integral_v' in namespace 'std'; did you mean 'is_integral'?
    template <typename T, typename U = std::enable_if_t<std::is_integral_v<T>, T>>
                                                        ~~~~~^~~~~~~~~~~~~
                                                             is_integral
/usr/bin/../lib/gcc/i686-linux-gnu/10/../../../../include/c++/10/type_traits:365:12: note: 'is_integral' declared here
    struct is_integral
           ^
In file included from /code/network/bitstream.cpp:17:
/code/network/./bitstream.hpp:80:57: error: template argument for non-type template parameter must be an expression
    template <typename T, typename U = std::enable_if_t<std::is_integral_v<T>, T>>
                                                        ^~~~~~~~~~~~~~~~~~~~~
/usr/bin/../lib/gcc/i686-linux-gnu/10/../../../../include/c++/10/type_traits:2553:17: note: template parameter is declared here
  template<bool _Cond, typename _Tp = void>
                ^
In file included from /code/network/bitstream.cpp:17:
/code/network/./bitstream.hpp:86:62: error: no template named 'is_integral_v' in namespace 'std'; did you mean 'is_integral'?
    template <typename T, typename U = std::enable_if_t<std::is_integral_v<T>, T>>
                                                        ~~~~~^~~~~~~~~~~~~
                                                             is_integral
/usr/bin/../lib/gcc/i686-linux-gnu/10/../../../../include/c++/10/type_traits:365:12: note: 'is_integral' declared here
    struct is_integral
           ^
In file included from /code/network/bitstream.cpp:17:
/code/network/./bitstream.hpp:86:57: error: template argument for non-type template parameter must be an expression
    template <typename T, typename U = std::enable_if_t<std::is_integral_v<T>, T>>
                                                        ^~~~~~~~~~~~~~~~~~~~~
/usr/bin/../lib/gcc/i686-linux-gnu/10/../../../../include/c++/10/type_traits:2553:17: note: template parameter is declared here
  template<bool _Cond, typename _Tp = void>

[...]

full log: logs.txt

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions