Skip to content

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

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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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