Skip to content

Build error: error: unknown type name 'uint8_t', 'uint32_t', etc. #535

@GuillaumeDua

Description

@GuillaumeDua

Context

  • OS: Ubuntu-24.04
  • STL: libstdc++-15-dev:arm64 (15.2.0-14ubuntu1~24~ppa1)
  • Compiler: Clang 21.1.8
  • SQLiteCpp release: 3.3.2

Additional information

👉 SQLiteCpp release 3.3.3 works just fine !

So you may choose to close this issue with no futher actions, if you want to.

  • The build works just fine with libstdc++-13
  • Most likely, that's caused by a missing include pp directive #include <cstdint>
  • Perhaps consider using std:: namespace rather than global namespace lookup which ends to C definitions ?

Build output

[build] [12/225   1% :: 0.362] Building CXX object _deps/sqlitecpp-build/CMakeFiles/SQLiteCpp.dir/src/Backup.cpp.o
[build] FAILED: _deps/sqlitecpp-build/CMakeFiles/SQLiteCpp.dir/src/Backup.cpp.o 
[build] /usr/bin/clang++ -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_THREADSAFE=2 -I/workspace/build/Debug/_deps/sqlitecpp-src/include -I/workspace/build/Debug/_deps/sqlitecpp-src/sqlite3 -Wall -Wextra -Wpedantic -Wswitch-enum -Wshadow -Wno-long-long -g -std=gnu++11 -fPIC -fprofile-instr-generate -fcoverage-mapping -Werror=return-type -pedantic-errors -Wall -Wextra -Wshadow -Wconversion -Wsign-conversion -Wno-unknown-pragmas -stdlib=libstdc++ -fstack-protector -Wno-sign-conversion -MD -MT _deps/sqlitecpp-build/CMakeFiles/SQLiteCpp.dir/src/Backup.cpp.o -MF _deps/sqlitecpp-build/CMakeFiles/SQLiteCpp.dir/src/Backup.cpp.o.d -o _deps/sqlitecpp-build/CMakeFiles/SQLiteCpp.dir/src/Backup.cpp.o -c /workspace/build/Debug/_deps/sqlitecpp-src/src/Backup.cpp
[build] In file included from /workspace/build/Debug/_deps/sqlitecpp-src/src/Backup.cpp:12:
[build] In file included from /workspace/build/Debug/_deps/sqlitecpp-src/include/SQLiteCpp/Backup.h:15:
[build] In file included from /workspace/build/Debug/_deps/sqlitecpp-src/include/SQLiteCpp/Database.h:14:
[build] In file included from /workspace/build/Debug/_deps/sqlitecpp-src/include/SQLiteCpp/Column.h:14:
[build] /workspace/build/Debug/_deps/sqlitecpp-src/include/SQLiteCpp/Statement.h:132:39: error: unknown type name 'uint32_t'
[build]   132 |     void bind(const int aIndex, const uint32_t      aValue);
[build]       |                                       ^
[build] /workspace/build/Debug/_deps/sqlitecpp-src/include/SQLiteCpp/Statement.h:203:41: error: unknown type name 'uint32_t'
[build]   203 |     void bind(const char* apName, const uint32_t        aValue)
[build]       |                                         ^
[build] /workspace/build/Debug/_deps/sqlitecpp-src/include/SQLiteCpp/Statement.h:304:47: error: unknown type name 'uint32_t'
[build]   304 |     void bind(const std::string& aName, const uint32_t        aValue)
[build]       |                                               ^
[build] In file included from /workspace/build/Debug/_deps/sqlitecpp-src/src/Backup.cpp:12:
[build] In file included from /workspace/build/Debug/_deps/sqlitecpp-src/include/SQLiteCpp/Backup.h:15:
[build] In file included from /workspace/build/Debug/_deps/sqlitecpp-src/include/SQLiteCpp/Database.h:14:
[build] /workspace/build/Debug/_deps/sqlitecpp-src/include/SQLiteCpp/Column.h:80:5: error: unknown type name 'uint32_t'
[build]    80 |     uint32_t    getUInt() const noexcept;
[build]       |     ^
[build] /workspace/build/Debug/_deps/sqlitecpp-src/include/SQLiteCpp/Column.h:171:14: error: unknown type name 'uint8_t'
[build]   171 |     operator uint8_t() const
[build]       |              ^
[build] 5 errors generated.
[build] [12/225   1% :: 0.380] Building CXX object _deps/sqlitecpp-build/CMakeFiles/SQLiteCpp.dir/src/Exception.cpp.o
[build] [12/225   2% :: 0.434] Building CXX object _deps/sqlitecpp-build/CMakeFiles/SQLiteCpp.dir/src/Column.cpp.o
[build] FAILED: _deps/sqlitecpp-build/CMakeFiles/SQLiteCpp.dir/src/Column.cpp.o 
[build] /usr/bin/clang++ -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_THREADSAFE=2 -I/workspace/build/Debug/_deps/sqlitecpp-src/include -I/workspace/build/Debug/_deps/sqlitecpp-src/sqlite3 -Wall -Wextra -Wpedantic -Wswitch-enum -Wshadow -Wno-long-long -g -std=gnu++11 -fPIC -fprofile-instr-generate -fcoverage-mapping -Werror=return-type -pedantic-errors -Wall -Wextra -Wshadow -Wconversion -Wsign-conversion -Wno-unknown-pragmas -stdlib=libstdc++ -fstack-protector -Wno-sign-conversion -MD -MT _deps/sqlitecpp-build/CMakeFiles/SQLiteCpp.dir/src/Column.cpp.o -MF _deps/sqlitecpp-build/CMakeFiles/SQLiteCpp.dir/src/Column.cpp.o.d -o _deps/sqlitecpp-build/CMakeFiles/SQLiteCpp.dir/src/Column.cpp.o -c /workspace/build/Debug/_deps/sqlitecpp-src/src/Column.cpp
[build] In file included from /workspace/build/Debug/_deps/sqlitecpp-src/src/Column.cpp:11:
[build] In file included from /workspace/build/Debug/_deps/sqlitecpp-src/include/SQLiteCpp/Column.h:14:
[build] /workspace/build/Debug/_deps/sqlitecpp-src/include/SQLiteCpp/Statement.h:132:39: error: unknown type name 'uint32_t'
[build]   132 |     void bind(const int aIndex, const uint32_t      aValue);
[build]       |                                       ^
[build] /workspace/build/Debug/_deps/sqlitecpp-src/include/SQLiteCpp/Statement.h:203:41: error: unknown type name 'uint32_t'
[build]   203 |     void bind(const char* apName, const uint32_t        aValue)
[build]       |                                         ^
[build] /workspace/build/Debug/_deps/sqlitecpp-src/include/SQLiteCpp/Statement.h:304:47: error: unknown type name 'uint32_t'
[build]   304 |     void bind(const std::string& aName, const uint32_t        aValue)
[build]       |                                               ^
[build] In file included from /workspace/build/Debug/_deps/sqlitecpp-src/src/Column.cpp:11:
[build] /workspace/build/Debug/_deps/sqlitecpp-src/include/SQLiteCpp/Column.h:80:5: error: unknown type name 'uint32_t'
[build]    80 |     uint32_t    getUInt() const noexcept;
[build]       |     ^
[build] /workspace/build/Debug/_deps/sqlitecpp-src/include/SQLiteCpp/Column.h:171:14: error: unknown type name 'uint8_t'
[build]   171 |     operator uint8_t() const
[build]       |              ^
[build] /workspace/build/Debug/_deps/sqlitecpp-src/src/Column.cpp:29:5: error: member initializer 'mStmtPtr' does not name a non-static data member or base class
[build]    29 |     mStmtPtr(aStmtPtr),
[build]       |     ^~~~~~~~~~~~~~~~~~
[build] /workspace/build/Debug/_deps/sqlitecpp-src/src/Column.cpp:41:32: error: use of undeclared identifier 'mStmtPtr'
[build]    41 |     return sqlite3_column_name(mStmtPtr.get(), mIndex);
[build]       |                                ^~~~~~~~
[build] /workspace/build/Debug/_deps/sqlitecpp-src/src/Column.cpp:48:39: error: use of undeclared identifier 'mStmtPtr'
[build]    48 |     return sqlite3_column_origin_name(mStmtPtr.get(), mIndex);
[build]       |                                       ^~~~~~~~
[build] /workspace/build/Debug/_deps/sqlitecpp-src/src/Column.cpp:55:31: error: use of undeclared identifier 'mStmtPtr'
[build]    55 |     return sqlite3_column_int(mStmtPtr.get(), mIndex);
[build]       |                               ^~~~~~~~
[build] /workspace/build/Debug/_deps/sqlitecpp-src/src/Column.cpp:59:1: error: unknown type name 'uint32_t'
[build]    59 | uint32_t Column::getUInt() const noexcept
[build]       | ^
[build] /workspace/build/Debug/_deps/sqlitecpp-src/src/Column.cpp:67:33: error: use of undeclared identifier 'mStmtPtr'
[build]    67 |     return sqlite3_column_int64(mStmtPtr.get(), mIndex);
[build]       |                                 ^~~~~~~~
[build] /workspace/build/Debug/_deps/sqlitecpp-src/src/Column.cpp:73:34: error: use of undeclared identifier 'mStmtPtr'
[build]    73 |     return sqlite3_column_double(mStmtPtr.get(), mIndex);
[build]       |                                  ^~~~~~~~
[build] /workspace/build/Debug/_deps/sqlitecpp-src/src/Column.cpp:79:68: error: use of undeclared identifier 'mStmtPtr'
[build]    79 |     auto pText = reinterpret_cast<const char*>(sqlite3_column_text(mStmtPtr.get(), mIndex));
[build]       |                                                                    ^~~~~~~~
[build] /workspace/build/Debug/_deps/sqlitecpp-src/src/Column.cpp:86:32: error: use of undeclared identifier 'mStmtPtr'
[build]    86 |     return sqlite3_column_blob(mStmtPtr.get(), mIndex);
[build]       |                                ^~~~~~~~
[build] /workspace/build/Debug/_deps/sqlitecpp-src/src/Column.cpp:96:32: error: use of undeclared identifier 'mStmtPtr'
[build]    96 |     (void)sqlite3_column_bytes(mStmtPtr.get(), mIndex);
[build]       |                                ^~~~~~~~
[build] /workspace/build/Debug/_deps/sqlitecpp-src/src/Column.cpp:97:63: error: use of undeclared identifier 'mStmtPtr'
[build]    97 |     auto data = static_cast<const char *>(sqlite3_column_blob(mStmtPtr.get(), mIndex));
[build]       |                                                               ^~~~~~~~
[build] /workspace/build/Debug/_deps/sqlitecpp-src/src/Column.cpp:101:51: error: use of undeclared identifier 'mStmtPtr'
[build]   101 |     return std::string(data, sqlite3_column_bytes(mStmtPtr.get(), mIndex));
[build]       |                                                   ^~~~~~~~
[build] /workspace/build/Debug/_deps/sqlitecpp-src/src/Column.cpp:107:32: error: use of undeclared identifier 'mStmtPtr'
[build]   107 |     return sqlite3_column_type(mStmtPtr.get(), mIndex);
[build]       |                                ^~~~~~~~
[build] /workspace/build/Debug/_deps/sqlitecpp-src/src/Column.cpp:113:33: error: use of undeclared identifier 'mStmtPtr'
[build]   113 |     return sqlite3_column_bytes(mStmtPtr.get(), mIndex);
[build]       |                                 ^~~~~~~~
[build] 19 errors generated.
[build] [12/225   2% :: 0.472] Building CXX object _deps/fmt-build/CMakeFiles/fmt.dir/src/os.cc.o
[build] [12/225   3% :: 0.554] Building CXX object _deps/sqlitecpp-build/CMakeFiles/SQLiteCpp.dir/src/Database.cpp.o
[build] FAILED: _deps/sqlitecpp-build/CMakeFiles/SQLiteCpp.dir/src/Database.cpp.o 
[build] /usr/bin/clang++ -DSQLITE_ENABLE_COLUMN_METADATA -DSQLITE_THREADSAFE=2 -I/workspace/build/Debug/_deps/sqlitecpp-src/include -I/workspace/build/Debug/_deps/sqlitecpp-src/sqlite3 -Wall -Wextra -Wpedantic -Wswitch-enum -Wshadow -Wno-long-long -g -std=gnu++11 -fPIC -fprofile-instr-generate -fcoverage-mapping -Werror=return-type -pedantic-errors -Wall -Wextra -Wshadow -Wconversion -Wsign-conversion -Wno-unknown-pragmas -stdlib=libstdc++ -fstack-protector -Wno-sign-conversion -MD -MT _deps/sqlitecpp-build/CMakeFiles/SQLiteCpp.dir/src/Database.cpp.o -MF _deps/sqlitecpp-build/CMakeFiles/SQLiteCpp.dir/src/Database.cpp.o.d -o _deps/sqlitecpp-build/CMakeFiles/SQLiteCpp.dir/src/Database.cpp.o -c /workspace/build/Debug/_deps/sqlitecpp-src/src/Database.cpp
[build] In file included from /workspace/build/Debug/_deps/sqlitecpp-src/src/Database.cpp:11:
[build] In file included from /workspace/build/Debug/_deps/sqlitecpp-src/include/SQLiteCpp/Database.h:14:
[build] In file included from /workspace/build/Debug/_deps/sqlitecpp-src/include/SQLiteCpp/Column.h:14:
[build] /workspace/build/Debug/_deps/sqlitecpp-src/include/SQLiteCpp/Statement.h:132:39: error: unknown type name 'uint32_t'
[build]   132 |     void bind(const int aIndex, const uint32_t      aValue);
[build]       |                                       ^
[build] /workspace/build/Debug/_deps/sqlitecpp-src/include/SQLiteCpp/Statement.h:203:41: error: unknown type name 'uint32_t'
[build]   203 |     void bind(const char* apName, const uint32_t        aValue)
[build]       |                                         ^
[build] /workspace/build/Debug/_deps/sqlitecpp-src/include/SQLiteCpp/Statement.h:304:47: error: unknown type name 'uint32_t'
[build]   304 |     void bind(const std::string& aName, const uint32_t        aValue)
[build]       |                                               ^
[build] In file included from /workspace/build/Debug/_deps/sqlitecpp-src/src/Database.cpp:11:
[build] In file included from /workspace/build/Debug/_deps/sqlitecpp-src/include/SQLiteCpp/Database.h:14:
[build] /workspace/build/Debug/_deps/sqlitecpp-src/include/SQLiteCpp/Column.h:80:5: error: unknown type name 'uint32_t'
[build]    80 |     uint32_t    getUInt() const noexcept;
[build]       |     ^
[build] /workspace/build/Debug/_deps/sqlitecpp-src/include/SQLiteCpp/Column.h:171:14: error: unknown type name 'uint8_t'
[build]   171 |     operator uint8_t() const
[build]       |              ^
[build] 5 errors generated.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions