imgui_manual
imgui_manual copied to clipboard
`external/FunctionalPlus` causes compilation error due to `cstdint`
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.