Skip to content

Can't compile this template #1

@vincenzocorso

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