imgui_manual icon indicating copy to clipboard operation
imgui_manual copied to clipboard

`external/FunctionalPlus` causes compilation error due to `cstdint`

Open suvayu opened this issue 11 months ago • 4 comments

I was getting the following error with the vendored version of FunctionalPlus. I tried compiling with both GCC and Clang.

[... other similar errors ...]
/home/user/build/imgui_manual/src/../external/FunctionalPlus/include/fplus/container_properties.hpp: At global scope:
/home/user/build/imgui_manual/src/../external/FunctionalPlus/include/fplus/container_properties.hpp:690:46: error: ‘uint8_t’ is not a member of ‘std’; did you mean ‘wint_t’?
  690 |     typename ContainerOut = std::vector<std::uint8_t>,
      |                                              ^~~~~~~
      |                                              wint_t
/home/user/build/imgui_manual/src/../external/FunctionalPlus/include/fplus/container_properties.hpp:690:53: error: template argument 1 is invalid
  690 |     typename ContainerOut = std::vector<std::uint8_t>,
      |                                                     ^
/home/user/build/imgui_manual/src/../external/FunctionalPlus/include/fplus/container_properties.hpp:690:53: error: template argument 2 is invalid
/home/user/build/imgui_manual/src/../external/FunctionalPlus/include/fplus/container_properties.hpp:721:46: error: ‘uint8_t’ is not a member of ‘std’; did you mean ‘wint_t’?
  721 |     typename ContainerOut = std::vector<std::uint8_t>,
      |                                              ^~~~~~~
      |                                              wint_t
/home/user/build/imgui_manual/src/../external/FunctionalPlus/include/fplus/container_properties.hpp:721:53: error: template argument 1 is invalid
  721 |     typename ContainerOut = std::vector<std::uint8_t>,
      |                                                     ^
/home/user/build/imgui_manual/src/../external/FunctionalPlus/include/fplus/container_properties.hpp:721:53: error: template argument 2 is invalid

I removed the submodule, and used my distro provided FunctionalPlus:

# dnf info functionalplus-devel
Updating and loading repositories:
Repositories loaded.
Installed packages
Name            : functionalplus-devel
Epoch           : 0
Version         : 0.2.24
Release         : 2.fc41
Architecture    : noarch
Installed size  : 577.5 KiB
Source          : functionalplus-0.2.24-2.fc41.src.rpm
From repository : fedora
Summary         : Header files for functionalplus
URL             : https://github.com/Dobiasd/FunctionalPlus
License         : BSL-1.0
Description     : Header files for functionalplus.
Vendor          : Fedora Project

This resolves the issue, and compilation succeeds.


I don't know if it's related, probably not, but I also had issues installing SDL2 using vcpkg.

CMake Error at scripts/cmake/vcpkg_execute_required_process.cmake:127 (message):
    Command failed: /usr/bin/bash -c "V=1 ./../src/v4.4.36-645fb55159.clean/configure  \"--disable-silent-rules\" \"--verbose\" \"--disable-shared\" \"--enable-static\" \"--prefix=/home/jallad/.local/share/vcpkg/installed/arm64-linu
x/debug\" \"--bindir=\\${prefix}/../tools/libxcrypt/debug/bin\" \"--sbindir=\\${prefix}/../tools/libxcrypt/debug/sbin\" \"--libdir=\\${prefix}/lib\" \"--includedir=\\${prefix}/../include\" \"--datarootdir=\\${prefix}/share/libxcrypt
\""
    Working Directory: /home/user/.local/share/vcpkg/buildtrees/libxcrypt/arm64-linux-dbg
    Error code: 1
    See logs for more information:
      /home/user/.local/share/vcpkg/buildtrees/libxcrypt/config-arm64-linux-dbg-config.log
      /home/user/.local/share/vcpkg/buildtrees/libxcrypt/config-arm64-linux-dbg-out.log
      /home/user/.local/share/vcpkg/buildtrees/libxcrypt/config-arm64-linux-dbg-err.log

Call Stack (most recent call first):
  scripts/cmake/vcpkg_configure_make.cmake:866 (vcpkg_execute_required_process)
  ports/libxcrypt/portfile.cmake:25 (vcpkg_configure_make)
  scripts/ports.cmake:196 (include)


error: building libxcrypt:arm64-linux failed with: BUILD_FAILED

I worked around that as well by using my distro package SDL2-devel.

suvayu avatar Dec 31 '24 13:12 suvayu