msix-packaging
msix-packaging copied to clipboard
[BUG] Unable to compile on Linux / Clang 16.0.6
Command: ./makelinux.sh
[ 94%] Building CXX object src/msix/CMakeFiles/msix.dir/common/MSIXResource.cpp.o
[ 95%] Building CXX object src/msix/CMakeFiles/msix.dir/common/Log.cpp.o
[ 95%] Building CXX object src/msix/CMakeFiles/msix.dir/common/UnicodeConversion.cpp.o
[ 95%] Building CXX object src/msix/CMakeFiles/msix.dir/common/Encoding.cpp.o
In file included from /var/home/haecker-felix/Downloads/msix-packaging-MSIX-Core-1.2-release/src/msix/common/Encoding.cpp:11:
/var/home/haecker-felix/Downloads/msix-packaging-MSIX-Core-1.2-release/src/inc/internal/Encoding.hpp:14:50: error: use of undeclared identifier 'uint8_t'
std::string Base32Encoding(const std::vector<uint8_t>& bytes);
^
/var/home/haecker-felix/Downloads/msix-packaging-MSIX-Core-1.2-release/src/inc/internal/Encoding.hpp:15:22: error: no member named 'uint8_t' in namespace 'std'
std::vector<std::uint8_t> GetBase64DecodedValue(const std::string& value);
~~~~~^
2 errors generated.
make[2]: *** [src/msix/CMakeFiles/msix.dir/build.make:146: src/msix/CMakeFiles/msix.dir/common/Encoding.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:567: src/msix/CMakeFiles/msix.dir/all] Error 2
make: *** [Makefile:136: all] Error 2
clang version 16.0.6 (Fedora 16.0.6-2.fc38)
Target: x86_64-redhat-linux-gnu
Thread model: posix
InstalledDir: /usr/bin
Thank you for your comment- this is a duplicate of https://github.com/microsoft/msix-packaging/issues/514
Thank you for your comment- this is a duplicate of #514
No, it's not. This error occurs even with ./makelinux.sh --skip-tests
.
This patch fixes the build:
diff --git a/src/inc/internal/Encoding.hpp b/src/inc/internal/Encoding.hpp
index c647567e..dcc42f47 100644
--- a/src/inc/internal/Encoding.hpp
+++ b/src/inc/internal/Encoding.hpp
@@ -5,6 +5,7 @@
#pragma once
#include <string>
+#include <cstdint>^M
namespace MSIX { namespace Encoding {