C Builder XE2 - zufällige UUID generieren [Gelöst]
-
Für einen Postgres Primärschlüssel würde ich gerne eine zufällige (zeitabhängige) UUID generieren.
Die Boost-Lib bietet das an, jedoch wurden nicht alle Teile der Lib für XE 2 portiert. Dieser include scheitert weil nicht vorhanden:
#include <boost/uuid/uuid_generators.hpp>
Kopiere ich die Boostlib in ein Verzeichnis meines Projektes und füge es dem Include-Pfad hinzu gibts andere Probleme. Z.B. diese hier:
[BCC32 Fehler] uniform_int_float.hpp(42): E2451 Undefiniertes Symbol 'fast' Vollständiger Parser-Kontext MD5C.CPP(45): #include src\boost\boost\uuid\uuid_generators.hpp uuid_generators.hpp(17): #include src\boost\boost/uuid/random_generator.hpp random_generator.hpp(13): #include src\boost\boost/random/uniform_int.hpp uniform_int.hpp(21): #include src\boost\boost/random/uniform_int_distribution.hpp uniform_int_distribution.hpp(29): #include src\boost\boost/random/detail/uniform_int_float.hpp uniform_int_float.hpp(26): namespace boost uniform_int_float.hpp(27): namespace random uniform_int_float.hpp(28): namespace detail uniform_int_float.hpp(32): class uniform_int_float<URNG> [BCC32 Fehler] uniform_int_float.hpp(39): E2299 Vorlagenspezialisierung kann aus 'uint_t<Bits>' nicht generiert werden Vollständiger Parser-Kontext MD5C.CPP(45): #include src\boost\boost\uuid\uuid_generators.hpp uuid_generators.hpp(17): #include src\boost\boost/uuid/random_generator.hpp random_generator.hpp(13): #include src\boost\boost/random/uniform_int.hpp uniform_int.hpp(21): #include src\boost\boost/random/uniform_int_distribution.hpp uniform_int_distribution.hpp(29): #include src\boost\boost/random/detail/uniform_int_float.hpp uniform_int_float.hpp(26): namespace boost uniform_int_float.hpp(27): namespace random uniform_int_float.hpp(28): namespace detail uniform_int_float.hpp(32): class uniform_int_float<URNG> [BCC32 Fehler] uniform_int_float.hpp(39): E2270 > erwartet Vollständiger Parser-Kontext MD5C.CPP(45): #include src\boost\boost\uuid\uuid_generators.hpp uuid_generators.hpp(17): #include src\boost\boost/uuid/random_generator.hpp random_generator.hpp(13): #include src\boost\boost/random/uniform_int.hpp uniform_int.hpp(21): #include src\boost\boost/random/uniform_int_distribution.hpp uniform_int_distribution.hpp(29): #include src\boost\boost/random/detail/uniform_int_float.hpp uniform_int_float.hpp(26): namespace boost uniform_int_float.hpp(27): namespace random uniform_int_float.hpp(28): namespace detail uniform_int_float.hpp(32): class uniform_int_float<URNG> [BCC32 Fehler] uniform_int_float.hpp(42): E2040 Deklaration nicht ordnungsgemäß abgeschlossen Vollständiger Parser-Kontext MD5C.CPP(45): #include src\boost\boost\uuid\uuid_generators.hpp uuid_generators.hpp(17): #include src\boost\boost/uuid/random_generator.hpp random_generator.hpp(13): #include src\boost\boost/random/uniform_int.hpp uniform_int.hpp(21): #include src\boost\boost/random/uniform_int_distribution.hpp uniform_int_distribution.hpp(29): #include src\boost\boost/random/detail/uniform_int_float.hpp uniform_int_float.hpp(26): namespace boost uniform_int_float.hpp(27): namespace random uniform_int_float.hpp(28): namespace detail uniform_int_float.hpp(32): class uniform_int_float<URNG> [BCC32 Fehler] uniform_int_float.hpp(47): E2139 In Deklaration fehlt ; Vollständiger Parser-Kontext MD5C.CPP(45): #include src\boost\boost\uuid\uuid_generators.hpp uuid_generators.hpp(17): #include src\boost\boost/uuid/random_generator.hpp random_generator.hpp(13): #include src\boost\boost/random/uniform_int.hpp uniform_int.hpp(21): #include src\boost\boost/random/uniform_int_distribution.hpp uniform_int_distribution.hpp(29): #include src\boost\boost/random/detail/uniform_int_float.hpp uniform_int_float.hpp(26): namespace boost uniform_int_float.hpp(27): namespace random uniform_int_float.hpp(28): namespace detail uniform_int_float.hpp(32): class uniform_int_float<URNG> [BCC32 Fehler] static_log2.hpp(51): E2451 Undefiniertes Symbol 'n' Vollständiger Parser-Kontext MD5C.CPP(45): #include src\boost\boost\uuid\uuid_generators.hpp uuid_generators.hpp(17): #include src\boost\boost/uuid/random_generator.hpp random_generator.hpp(15): #include src\boost\boost/random/mersenne_twister.hpp mersenne_twister.hpp(29): #include src\boost\boost/random/detail/seed_impl.hpp seed_impl.hpp(20): #include C:\Program Files\Embarcadero\RAD Studio\9.0\include\boost_1_39\boost/integer/static_log2.hpp static_log2.hpp(21): namespace boost static_log2.hpp(23): namespace detail static_log2.hpp(25): namespace static_log2_impl static_log2.hpp(60): class choose_initial_n<0> MD5C.CPP(45): #include src\boost\boost\uuid\uuid_generators.hpp uuid_generators.hpp(17): #include src\boost\boost/uuid/random_generator.hpp random_generator.hpp(15): #include src\boost\boost/random/mersenne_twister.hpp mersenne_twister.hpp(29): #include src\boost\boost/random/detail/seed_impl.hpp seed_impl.hpp(20): #include C:\Program Files\Embarcadero\RAD Studio\9.0\include\boost_1_39\boost/integer/static_log2.hpp static_log2.hpp(21): namespace boost static_log2.hpp(23): namespace detail static_log2.hpp(25): namespace static_log2_impl static_log2.hpp(49): Entscheidung zum Instantiieren: choose_initial_n<0> --- Zurücksetzen des Parser-Kontexts für die Instantiierung... static_log2.hpp(55): Entscheidung zum Instantiieren: choose_initial_n<0>::value --- Zurücksetzen des Parser-Kontexts für die Instantiierung... MD5C.CPP(45): #include src\boost\boost\uuid\uuid_generators.hpp uuid_generators.hpp(17): #include src\boost\boost/uuid/random_generator.hpp random_generator.hpp(15): #include src\boost\boost/random/mersenne_twister.hpp mersenne_twister.hpp(29): #include src\boost\boost/random/detail/seed_impl.hpp seed_impl.hpp(20): #include C:\Program Files\Embarcadero\RAD Studio\9.0\include\boost_1_39\boost/integer/static_log2.hpp static_log2.hpp(21): namespace boost static_log2.hpp(23): namespace detail static_log2.hpp(25): namespace static_log2_impl static_log2.hpp(49): class choose_initial_n<n> MD5C.CPP(45): #include src\boost\boost\uuid\uuid_generators.hpp uuid_generators.hpp(17): #include src\boost\boost/uuid/random_generator.hpp random_generator.hpp(15): #include src\boost\boost/random/mersenne_twister.hpp mersenne_twister.hpp(29): #include src\boost\boost/random/detail/seed_impl.hpp seed_impl.hpp(20): #include C:\Program Files\Embarcadero\RAD Studio\9.0\include\boost_1_39\boost/integer/static_log2.hpp static_log2.hpp(21): namespace boost static_log2.hpp(23): namespace detail static_log2.hpp(25): namespace static_log2_impl static_log2.hpp(60): Entscheidung zum Instantiieren: choose_initial_n<> --- Zurücksetzen des Parser-Kontexts für die Instantiierung... static_log2.hpp(51): Entscheidung zum Instantiieren: choose_initial_n<>::c --- Zurücksetzen des Parser-Kontexts für die Instantiierung... MD5C.CPP(45): #include src\boost\boost\uuid\uuid_generators.hpp uuid_generators.hpp(17): #include src\boost\boost/uuid/random_generator.hpp random_generator.hpp(15): #include src\boost\boost/random/mersenne_twister.hpp mersenne_twister.hpp(29): #include src\boost\boost/random/detail/seed_impl.hpp seed_impl.hpp(20): #include C:\Program Files\Embarcadero\RAD Studio\9.0\include\boost_1_39\boost/integer/static_log2.hpp static_log2.hpp(21): namespace boost static_log2.hpp(23): namespace detail static_log2.hpp(25): namespace static_log2_impl static_log2.hpp(49): class choose_initial_n<n> [BCC32 Fehler] static_log2.hpp(55): E2451 Undefiniertes Symbol 'value' Vollständiger Parser-Kontext MD5C.CPP(45): #include src\boost\boost\uuid\uuid_generators.hpp uuid_generators.hpp(17): #include src\boost\boost/uuid/random_generator.hpp random_generator.hpp(15): #include src\boost\boost/random/mersenne_twister.hpp mersenne_twister.hpp(29): #include src\boost\boost/random/detail/seed_impl.hpp seed_impl.hpp(20): #include C:\Program Files\Embarcadero\RAD Studio\9.0\include\boost_1_39\boost/integer/static_log2.hpp static_log2.hpp(21): namespace boost static_log2.hpp(23): namespace detail static_log2.hpp(25): namespace static_log2_impl static_log2.hpp(60): class choose_initial_n<0> MD5C.CPP(45): #include src\boost\boost\uuid\uuid_generators.hpp uuid_generators.hpp(17): #include src\boost\boost/uuid/random_generator.hpp random_generator.hpp(15): #include src\boost\boost/random/mersenne_twister.hpp mersenne_twister.hpp(29): #include src\boost\boost/random/detail/seed_impl.hpp seed_impl.hpp(20): #include C:\Program Files\Embarcadero\RAD Studio\9.0\include\boost_1_39\boost/integer/static_log2.hpp static_log2.hpp(21): namespace boost static_log2.hpp(23): namespace detail static_log2.hpp(25): namespace static_log2_impl static_log2.hpp(49): Entscheidung zum Instantiieren: choose_initial_n<0> --- Zurücksetzen des Parser-Kontexts für die Instantiierung... static_log2.hpp(55): Entscheidung zum Instantiieren: choose_initial_n<0>::value --- Zurücksetzen des Parser-Kontexts für die Instantiierung... MD5C.CPP(45): #include src\boost\boost\uuid\uuid_generators.hpp uuid_generators.hpp(17): #include src\boost\boost/uuid/random_generator.hpp random_generator.hpp(15): #include src\boost\boost/random/mersenne_twister.hpp mersenne_twister.hpp(29): #include src\boost\boost/random/detail/seed_impl.hpp seed_impl.hpp(20): #include C:\Program Files\Embarcadero\RAD Studio\9.0\include\boost_1_39\boost/integer/static_log2.hpp static_log2.hpp(21): namespace boost static_log2.hpp(23): namespace detail static_log2.hpp(25): namespace static_log2_impl static_log2.hpp(49): class choose_initial_n<0> [BCC32 Fehler] static_log2.hpp(55): E2230 Für die Initialisierung eines Inline-Daten-Members ist ein Konstantenausdruck vom Typ Integer erforderlich Vollständiger Parser-Kontext MD5C.CPP(45): #include src\boost\boost\uuid\uuid_generators.hpp uuid_generators.hpp(17): #include src\boost\boost/uuid/random_generator.hpp random_generator.hpp(15): #include src\boost\boost/random/mersenne_twister.hpp mersenne_twister.hpp(29): #include src\boost\boost/random/detail/seed_impl.hpp seed_impl.hpp(20): #include C:\Program Files\Embarcadero\RAD Studio\9.0\include\boost_1_39\boost/integer/static_log2.hpp static_log2.hpp(21): namespace boost static_log2.hpp(23): namespace detail static_log2.hpp(25): namespace static_log2_impl static_log2.hpp(60): class choose_initial_n<0> MD5C.CPP(45): #include src\boost\boost\uuid\uuid_generators.hpp uuid_generators.hpp(17): #include src\boost\boost/uuid/random_generator.hpp random_generator.hpp(15): #include src\boost\boost/random/mersenne_twister.hpp mersenne_twister.hpp(29): #include src\boost\boost/random/detail/seed_impl.hpp seed_impl.hpp(20): #include C:\Program Files\Embarcadero\RAD Studio\9.0\include\boost_1_39\boost/integer/static_log2.hpp static_log2.hpp(21): namespace boost static_log2.hpp(23): namespace detail static_log2.hpp(25): namespace static_log2_impl static_log2.hpp(49): Entscheidung zum Instantiieren: choose_initial_n<0> --- Zurücksetzen des Parser-Kontexts für die Instantiierung... static_log2.hpp(55): Entscheidung zum Instantiieren: choose_initial_n<0>::value --- Zurücksetzen des Parser-Kontexts für die Instantiierung... MD5C.CPP(45): #include src\boost\boost\uuid\uuid_generators.hpp uuid_generators.hpp(17): #include src\boost\boost/uuid/random_generator.hpp random_generator.hpp(15): #include src\boost\boost/random/mersenne_twister.hpp mersenne_twister.hpp(29): #include src\boost\boost/random/detail/seed_impl.hpp seed_impl.hpp(20): #include C:\Program Files\Embarcadero\RAD Studio\9.0\include\boost_1_39\boost/integer/static_log2.hpp static_log2.hpp(21): namespace boost static_log2.hpp(23): namespace detail static_log2.hpp(25): namespace static_log2_impl static_log2.hpp(49): class choose_initial_n<0> [BCC32 Fehler] static_log2.hpp(61): E2238 Mehrfache Deklaration von 'choose_initial_n<0>::value' Vollständiger Parser-Kontext MD5C.CPP(45): #include src\boost\boost\uuid\uuid_generators.hpp uuid_generators.hpp(17): #include src\boost\boost/uuid/random_generator.hpp random_generator.hpp(15): #include src\boost\boost/random/mersenne_twister.hpp mersenne_twister.hpp(29): #include src\boost\boost/random/detail/seed_impl.hpp seed_impl.hpp(20): #include C:\Program Files\Embarcadero\RAD Studio\9.0\include\boost_1_39\boost/integer/static_log2.hpp static_log2.hpp(21): namespace boost static_log2.hpp(23): namespace detail static_log2.hpp(25): namespace static_log2_impl static_log2.hpp(60): class choose_initial_n<0> [BCC32 Fehler] static_log2.hpp(55): E2344 'choose_initial_n<0>::value' bereits deklariert Vollständiger Parser-Kontext MD5C.CPP(45): #include src\boost\boost\uuid\uuid_generators.hpp uuid_generators.hpp(17): #include src\boost\boost/uuid/random_generator.hpp random_generator.hpp(15): #include src\boost\boost/random/mersenne_twister.hpp mersenne_twister.hpp(29): #include src\boost\boost/random/detail/seed_impl.hpp seed_impl.hpp(20): #include C:\Program Files\Embarcadero\RAD Studio\9.0\include\boost_1_39\boost/integer/static_log2.hpp static_log2.hpp(21): namespace boost static_log2.hpp(23): namespace detail static_log2.hpp(25): namespace static_log2_impl static_log2.hpp(60): class choose_initial_n<0> [BCC32 Fehler] static_log2.hpp(55): E2451 Undefiniertes Symbol 'value' Vollständiger Parser-Kontext MD5C.CPP(45): #include src\boost\boost\uuid\uuid_generators.hpp uuid_generators.hpp(17): #include src\boost\boost/uuid/random_generator.hpp random_generator.hpp(15): #include src\boost\boost/random/mersenne_twister.hpp mersenne_twister.hpp(29): #include src\boost\boost/random/detail/seed_impl.hpp seed_impl.hpp(20): #include C:\Program Files\Embarcadero\RAD Studio\9.0\include\boost_1_39\boost/integer/static_log2.hpp static_log2.hpp(21): namespace boost static_log2.hpp(23): namespace detail static_log2.hpp(25): namespace static_log2_impl MD5C.CPP(45): #include src\boost\boost\uuid\uuid_generators.hpp uuid_generators.hpp(17): #include src\boost\boost/uuid/random_generator.hpp random_generator.hpp(15): #include src\boost\boost/random/mersenne_twister.hpp mersenne_twister.hpp(29): #include src\boost\boost/random/detail/seed_impl.hpp seed_impl.hpp(20): #include C:\Program Files\Embarcadero\RAD Studio\9.0\include\boost_1_39\boost/integer/static_log2.hpp static_log2.hpp(21): namespace boost static_log2.hpp(23): namespace detail static_log2.hpp(25): namespace static_log2_impl static_log2.hpp(49): Entscheidung zum Instantiieren: choose_initial_n<16> --- Zurücksetzen des Parser-Kontexts für die Instantiierung... static_log2.hpp(55): Entscheidung zum Instantiieren: choose_initial_n<16>::value --- Zurücksetzen des Parser-Kontexts für die Instantiierung... MD5C.CPP(45): #include src\boost\boost\uuid\uuid_generators.hpp uuid_generators.hpp(17): #include src\boost\boost/uuid/random_generator.hpp random_generator.hpp(15): #include src\boost\boost/random/mersenne_twister.hpp mersenne_twister.hpp(29): #include src\boost\boost/random/detail/seed_impl.hpp seed_impl.hpp(20): #include C:\Program Files\Embarcadero\RAD Studio\9.0\include\boost_1_39\boost/integer/static_log2.hpp static_log2.hpp(21): namespace boost static_log2.hpp(23): namespace detail static_log2.hpp(25): namespace static_log2_impl static_log2.hpp(49): class choose_initial_n<n> [BCC32 Fehler] static_log2.hpp(55): E2230 Für die Initialisierung eines Inline-Daten-Members ist ein Konstantenausdruck vom Typ Integer erforderlich Vollständiger Parser-Kontext MD5C.CPP(45): #include src\boost\boost\uuid\uuid_generators.hpp uuid_generators.hpp(17): #include src\boost\boost/uuid/random_generator.hpp random_generator.hpp(15): #include src\boost\boost/random/mersenne_twister.hpp mersenne_twister.hpp(29): #include src\boost\boost/random/detail/seed_impl.hpp seed_impl.hpp(20): #include C:\Program Files\Embarcadero\RAD Studio\9.0\include\boost_1_39\boost/integer/static_log2.hpp static_log2.hpp(21): namespace boost static_log2.hpp(23): namespace detail static_log2.hpp(25): namespace static_log2_impl MD5C.CPP(45): #include src\boost\boost\uuid\uuid_generators.hpp uuid_generators.hpp(17): #include src\boost\boost/uuid/random_generator.hpp random_generator.hpp(15): #include src\boost\boost/random/mersenne_twister.hpp mersenne_twister.hpp(29): #include src\boost\boost/random/detail/seed_impl.hpp seed_impl.hpp(20): #include C:\Program Files\Embarcadero\RAD Studio\9.0\include\boost_1_39\boost/integer/static_log2.hpp static_log2.hpp(21): namespace boost static_log2.hpp(23): namespace detail static_log2.hpp(25): namespace static_log2_impl static_log2.hpp(49): Entscheidung zum Instantiieren: choose_initial_n<16> --- Zurücksetzen des Parser-Kontexts für die Instantiierung... static_log2.hpp(55): Entscheidung zum Instantiieren: choose_initial_n<16>::value --- Zurücksetzen des Parser-Kontexts für die Instantiierung... MD5C.CPP(45): #include src\boost\boost\uuid\uuid_generators.hpp uuid_generators.hpp(17): #include src\boost\boost/uuid/random_generator.hpp random_generator.hpp(15): #include src\boost\boost/random/mersenne_twister.hpp mersenne_twister.hpp(29): #include src\boost\boost/random/detail/seed_impl.hpp seed_impl.hpp(20): #include C:\Program Files\Embarcadero\RAD Studio\9.0\include\boost_1_39\boost/integer/static_log2.hpp static_log2.hpp(21): namespace boost static_log2.hpp(23): namespace detail static_log2.hpp(25): namespace static_log2_impl static_log2.hpp(49): class choose_initial_n<n> [BCC32 Fehler] static_log2.hpp(88): E2451 Undefiniertes Symbol 'x' Vollständiger Parser-Kontext MD5C.CPP(45): #include src\boost\boost\uuid\uuid_generators.hpp uuid_generators.hpp(17): #include src\boost\boost/uuid/random_generator.hpp random_generator.hpp(15): #include src\boost\boost/random/mersenne_twister.hpp mersenne_twister.hpp(29): #include src\boost\boost/random/detail/seed_impl.hpp seed_impl.hpp(20): #include C:\Program Files\Embarcadero\RAD Studio\9.0\include\boost_1_39\boost/integer/static_log2.hpp static_log2.hpp(21): namespace boost static_log2.hpp(23): namespace detail static_log2.hpp(25): namespace detail::static_log2_impl static_log2.hpp(97): class static_log2_impl<1,0> MD5C.CPP(45): #include src\boost\boost\uuid\uuid_generators.hpp uuid_generators.hpp(17): #include src\boost\boost/uuid/random_generator.hpp random_generator.hpp(15): #include src\boost\boost/random/mersenne_twister.hpp mersenne_twister.hpp(29): #include src\boost\boost/random/detail/seed_impl.hpp seed_impl.hpp(20): #include C:\Program Files\Embarcadero\RAD Studio\9.0\include\boost_1_39\boost/integer/static_log2.hpp static_log2.hpp(21): namespace boost static_log2.hpp(23): namespace detail static_log2.hpp(25): namespace detail::static_log2_impl static_log2.hpp(86): Entscheidung zum Instantiieren: static_log2_impl<1,0> --- Zurücksetzen des Parser-Kontexts für die Instantiierung... static_log2.hpp(92): Entscheidung zum Instantiieren: static_log2_impl<1,0>::value --- Zurücksetzen des Parser-Kontexts für die Instantiierung... MD5C.CPP(45): #include src\boost\boost\uuid\uuid_generators.hpp uuid_generators.hpp(17): #include src\boost\boost/uuid/random_generator.hpp random_generator.hpp(15): #include src\boost\boost/random/mersenne_twister.hpp mersenne_twister.hpp(29): #include src\boost\boost/random/detail/seed_impl.hpp seed_impl.hpp(20): #include C:\Program Files\Embarcadero\RAD Studio\9.0\include\boost_1_39\boost/integer/static_log2.hpp static_log2.hpp(21): namespace boost static_log2.hpp(23): namespace detail static_log2.hpp(25): namespace detail::static_log2_impl static_log2.hpp(86): class static_log2_impl<x,n> MD5C.CPP(45): #include src\boost\boost\uuid\uuid_generators.hpp uuid_generators.hpp(17): #include src\boost\boost/uuid/random_generator.hpp random_generator.hpp(15): #include src\boost\boost/random/mersenne_twister.hpp mersenne_twister.hpp(29): #include src\boost\boost/random/detail/seed_impl.hpp seed_impl.hpp(20): #include C:\Program Files\Embarcadero\RAD Studio\9.0\include\boost_1_39\boost/integer/static_log2.hpp static_log2.hpp(21): namespace boost static_log2.hpp(23): namespace detail static_log2.hpp(25): namespace detail::static_log2_impl static_log2.hpp(97): Entscheidung zum Instantiieren: static_log2_impl<> --- Zurücksetzen des Parser-Kontexts für die Instantiierung... static_log2.hpp(88): Entscheidung zum Instantiieren: static_log2_impl<>::c --- Zurücksetzen des Parser-Kontexts für die Instantiierung... MD5C.CPP(45): #include src\boost\boost\uuid\uuid_generators.hpp uuid_generators.hpp(17): #include src\boost\boost/uuid/random_generator.hpp random_generator.hpp(15): #include src\boost\boost/random/mersenne_twister.hpp mersenne_twister.hpp(29): #include src\boost\boost/random/detail/seed_impl.hpp seed_impl.hpp(20): #include C:\Program Files\Embarcadero\RAD Studio\9.0\include\boost_1_39\boost/integer/static_log2.hpp static_log2.hpp(21): namespace boost static_log2.hpp(23): namespace detail static_log2.hpp(25): namespace detail::static_log2_impl static_log2.hpp(86): class static_log2_impl<x,n> [BCC32 Fehler] static_log2.hpp(88): E2451 Undefiniertes Symbol 'n' Vollständiger Parser-Kontext MD5C.CPP(45): #include src\boost\boost\uuid\uuid_generators.hpp uuid_generators.hpp(17): #include src\boost\boost/uuid/random_generator.hpp random_generator.hpp(15): #include src\boost\boost/random/mersenne_twister.hpp mersenne_twister.hpp(29): #include src\boost\boost/random/detail/seed_impl.hpp seed_impl.hpp(20): #include C:\Program Files\Embarcadero\RAD Studio\9.0\include\boost_1_39\boost/integer/static_log2.hpp static_log2.hpp(21): namespace boost static_log2.hpp(23): namespace detail static_log2.hpp(25): namespace detail::static_log2_impl static_log2.hpp(97): class static_log2_impl<1,0> MD5C.CPP(45): #include src\boost\boost\uuid\uuid_generators.hpp uuid_generators.hpp(17): #include src\boost\boost/uuid/random_generator.hpp random_generator.hpp(15): #include src\boost\boost/random/mersenne_twister.hpp mersenne_twister.hpp(29): #include src\boost\boost/random/detail/seed_impl.hpp seed_impl.hpp(20): #include C:\Program Files\Embarcadero\RAD Studio\9.0\include\boost_1_39\boost/integer/static_log2.hpp static_log2.hpp(21): namespace boost static_log2.hpp(23): namespace detail static_log2.hpp(25): namespace detail::static_log2_impl static_log2.hpp(86): Entscheidung zum Instantiieren: static_log2_impl<1,0> --- Zurücksetzen des Parser-Kontexts für die Instantiierung... static_log2.hpp(92): Entscheidung zum Instantiieren: static_log2_impl<1,0>::value --- Zurücksetzen des Parser-Kontexts für die Instantiierung... MD5C.CPP(45): #include src\boost\boost\uuid\uuid_generators.hpp uuid_generators.hpp(17): #include src\boost\boost/uuid/random_generator.hpp random_generator.hpp(15): #include src\boost\boost/random/mersenne_twister.hpp mersenne_twister.hpp(29): #include src\boost\boost/random/detail/seed_impl.hpp seed_impl.hpp(20): #include C:\Program Files\Embarcadero\RAD Studio\9.0\include\boost_1_39\boost/integer/static_log2.hpp static_log2.hpp(21): namespace boost static_log2.hpp(23): namespace detail static_log2.hpp(25): namespace detail::static_log2_impl static_log2.hpp(86): class static_log2_impl<x,n> MD5C.CPP(45): #include src\boost\boost\uuid\uuid_generators.hpp uuid_generators.hpp(17): #include src\boost\boost/uuid/random_generator.hpp random_generator.hpp(15): #include src\boost\boost/random/mersenne_twister.hpp mersenne_twister.hpp(29): #include src\boost\boost/random/detail/seed_impl.hpp seed_impl.hpp(20): #include C:\Program Files\Embarcadero\RAD Studio\9.0\include\boost_1_39\boost/integer/static_log2.hpp static_log2.hpp(21): namespace boost static_log2.hpp(23): namespace detail static_log2.hpp(25): namespace detail::static_log2_impl static_log2.hpp(97): Entscheidung zum Instantiieren: static_log2_impl<> --- Zurücksetzen des Parser-Kontexts für die Instantiierung... static_log2.hpp(88): Entscheidung zum Instantiieren: static_log2_impl<>::c --- Zurücksetzen des Parser-Kontexts für die Instantiierung... MD5C.CPP(45): #include src\boost\boost\uuid\uuid_generators.hpp uuid_generators.hpp(17): #include src\boost\boost/uuid/random_generator.hpp random_generator.hpp(15): #include src\boost\boost/random/mersenne_twister.hpp mersenne_twister.hpp(29): #include src\boost\boost/random/detail/seed_impl.hpp seed_impl.hpp(20): #include C:\Program Files\Embarcadero\RAD Studio\9.0\include\boost_1_39\boost/integer/static_log2.hpp static_log2.hpp(21): namespace boost static_log2.hpp(23): namespace detail static_log2.hpp(25): namespace detail::static_log2_impl static_log2.hpp(86): class static_log2_impl<x,n> [BCC32 Fehler] static_log2.hpp(92): E2451 Undefiniertes Symbol 'value' Vollständiger Parser-Kontext MD5C.CPP(45): #include src\boost\boost\uuid\uuid_generators.hpp uuid_generators.hpp(17): #include src\boost\boost/uuid/random_generator.hpp random_generator.hpp(15): #include src\boost\boost/random/mersenne_twister.hpp mersenne_twister.hpp(29): #include src\boost\boost/random/detail/seed_impl.hpp seed_impl.hpp(20): #include C:\Program Files\Embarcadero\RAD Studio\9.0\include\boost_1_39\boost/integer/static_log2.hpp static_log2.hpp(21): namespace boost static_log2.hpp(23): namespace detail static_log2.hpp(25): namespace detail::static_log2_impl static_log2.hpp(97): class static_log2_impl<1,0> MD5C.CPP(45): #include src\boost\boost\uuid\uuid_generators.hpp uuid_generators.hpp(17): #include src\boost\boost/uuid/random_generator.hpp random_generator.hpp(15): #include src\boost\boost/random/mersenne_twister.hpp mersenne_twister.hpp(29): #include src\boost\boost/random/detail/seed_impl.hpp seed_impl.hpp(20): #include C:\Program Files\Embarcadero\RAD Studio\9.0\include\boost_1_39\boost/integer/static_log2.hpp static_log2.hpp(21): namespace boost static_log2.hpp(23): namespace detail static_log2.hpp(25): namespace detail::static_log2_impl static_log2.hpp(86): Entscheidung zum Instantiieren: static_log2_impl<1,0> --- Zurücksetzen des Parser-Kontexts für die Instantiierung... static_log2.hpp(92): Entscheidung zum Instantiieren: static_log2_impl<1,0>::value --- Zurücksetzen des Parser-Kontexts für die Instantiierung... MD5C.CPP(45): #include src\boost\boost\uuid\uuid_generators.hpp uuid_generators.hpp(17): #include src\boost\boost/uuid/random_generator.hpp random_generator.hpp(15): #include src\boost\boost/random/mersenne_twister.hpp mersenne_twister.hpp(29): #include src\boost\boost/random/detail/seed_impl.hpp seed_impl.hpp(20): #include C:\Program Files\Embarcadero\RAD Studio\9.0\include\boost_1_39\boost/integer/static_log2.hpp static_log2.hpp(21): namespace boost static_log2.hpp(23): namespace detail static_log2.hpp(25): namespace detail::static_log2_impl static_log2.hpp(86): class static_log2_impl<1,0> [BCC32 Fehler] static_log2.hpp(92): E2230 Für die Initialisierung eines Inline-Daten-Members ist ein Konstantenausdruck vom Typ Integer erforderlich Vollständiger Parser-Kontext MD5C.CPP(45): #include src\boost\boost\uuid\uuid_generators.hpp uuid_generators.hpp(17): #include src\boost\boost/uuid/random_generator.hpp random_generator.hpp(15): #include src\boost\boost/random/mersenne_twister.hpp mersenne_twister.hpp(29): #include src\boost\boost/random/detail/seed_impl.hpp seed_impl.hpp(20): #include C:\Program Files\Embarcadero\RAD Studio\9.0\include\boost_1_39\boost/integer/static_log2.hpp static_log2.hpp(21): namespace boost static_log2.hpp(23): namespace detail static_log2.hpp(25): namespace detail::static_log2_impl static_log2.hpp(97): class static_log2_impl<1,0> MD5C.CPP(45): #include src\boost\boost\uuid\uuid_generators.hpp uuid_generators.hpp(17): #include src\boost\boost/uuid/random_generator.hpp random_generator.hpp(15): #include src\boost\boost/random/mersenne_twister.hpp mersenne_twister.hpp(29): #include src\boost\boost/random/detail/seed_impl.hpp seed_impl.hpp(20): #include C:\Program Files\Embarcadero\RAD Studio\9.0\include\boost_1_39\boost/integer/static_log2.hpp static_log2.hpp(21): namespace boost static_log2.hpp(23): namespace detail static_log2.hpp(25): namespace detail::static_log2_impl static_log2.hpp(86): Entscheidung zum Instantiieren: static_log2_impl<1,0> --- Zurücksetzen des Parser-Kontexts für die Instantiierung... static_log2.hpp(92): Entscheidung zum Instantiieren: static_log2_impl<1,0>::value --- Zurücksetzen des Parser-Kontexts für die Instantiierung... MD5C.CPP(45): #include src\boost\boost\uuid\uuid_generators.hpp uuid_generators.hpp(17): #include src\boost\boost/uuid/random_generator.hpp random_generator.hpp(15): #include src\boost\boost/random/mersenne_twister.hpp mersenne_twister.hpp(29): #include src\boost\boost/random/detail/seed_impl.hpp seed_impl.hpp(20): #include C:\Program Files\Embarcadero\RAD Studio\9.0\include\boost_1_39\boost/integer/static_log2.hpp static_log2.hpp(21): namespace boost static_log2.hpp(23): namespace detail static_log2.hpp(25): namespace detail::static_log2_impl static_log2.hpp(86): class static_log2_impl<1,0> [BCC32 Fehler] functional(813): E2238 Mehrfache Deklaration von 'operator hash<string>::()(const string &) const' Vollständiger Parser-Kontext MD5C.CPP(45): #include src\boost\boost\uuid\uuid_generators.hpp uuid_generators.hpp(17): #include src\boost\boost/uuid/random_generator.hpp random_generator.hpp(17): #include C:\Program Files\Embarcadero\RAD Studio\9.0\include\boost_1_39\boost/shared_ptr.hpp shared_ptr.hpp(17): #include C:\Program Files\Embarcadero\RAD Studio\9.0\include\boost_1_39\boost/smart_ptr/shared_ptr.hpp shared_ptr.hpp(32): #include C:\Program Files\Embarcadero\RAD Studio\9.0\include\boost_1_39\boost/smart_ptr/detail/shared_count.hpp shared_count.hpp(37): #include c:\program files\embarcadero\rad studio\9.0\include\dinkumware\functional functional(786): namespace std functional(787): namespace tr1 functional(807): class hash<string> [BCC32 Fehler] functional(794): E2344 'operator hash<string>::()(const string &) const' bereits deklariert Vollständiger Parser-Kontext MD5C.CPP(45): #include src\boost\boost\uuid\uuid_generators.hpp uuid_generators.hpp(17): #include src\boost\boost/uuid/random_generator.hpp random_generator.hpp(17): #include C:\Program Files\Embarcadero\RAD Studio\9.0\include\boost_1_39\boost/shared_ptr.hpp shared_ptr.hpp(17): #include C:\Program Files\Embarcadero\RAD Studio\9.0\include\boost_1_39\boost/smart_ptr/shared_ptr.hpp shared_ptr.hpp(32): #include C:\Program Files\Embarcadero\RAD Studio\9.0\include\boost_1_39\boost/smart_ptr/detail/shared_count.hpp shared_count.hpp(37): #include c:\program files\embarcadero\rad studio\9.0\include\dinkumware\functional functional(786): namespace std functional(787): namespace tr1 functional(807): class hash<string> [BCC32 Fehler] functional(838): E2238 Mehrfache Deklaration von 'operator hash<wstring>::()(const wstring &) const' Vollständiger Parser-Kontext MD5C.CPP(45): #include src\boost\boost\uuid\uuid_generators.hpp uuid_generators.hpp(17): #include src\boost\boost/uuid/random_generator.hpp random_generator.hpp(17): #include C:\Program Files\Embarcadero\RAD Studio\9.0\include\boost_1_39\boost/shared_ptr.hpp shared_ptr.hpp(17): #include C:\Program Files\Embarcadero\RAD Studio\9.0\include\boost_1_39\boost/smart_ptr/shared_ptr.hpp shared_ptr.hpp(32): #include C:\Program Files\Embarcadero\RAD Studio\9.0\include\boost_1_39\boost/smart_ptr/detail/shared_count.hpp shared_count.hpp(37): #include c:\program files\embarcadero\rad studio\9.0\include\dinkumware\functional functional(786): namespace std functional(787): namespace tr1 functional(832): class hash<wstring> [BCC32 Fehler] functional(794): E2344 'operator hash<wstring>::()(const wstring &) const' bereits deklariert Vollständiger Parser-Kontext MD5C.CPP(45): #include src\boost\boost\uuid\uuid_generators.hpp uuid_generators.hpp(17): #include src\boost\boost/uuid/random_generator.hpp random_generator.hpp(17): #include C:\Program Files\Embarcadero\RAD Studio\9.0\include\boost_1_39\boost/shared_ptr.hpp shared_ptr.hpp(17): #include C:\Program Files\Embarcadero\RAD Studio\9.0\include\boost_1_39\boost/smart_ptr/shared_ptr.hpp shared_ptr.hpp(32): #include C:\Program Files\Embarcadero\RAD Studio\9.0\include\boost_1_39\boost/smart_ptr/detail/shared_count.hpp shared_count.hpp(37): #include c:\program files\embarcadero\rad studio\9.0\include\dinkumware\functional functional(786): namespace std functional(787): namespace tr1 functional(832): class hash<wstring>
Das mach so also alles keinen Sinn. Was kann ich tun?
-
Suchst du vielleicht das ?
http://msdn.microsoft.com/en-us/library/aa379205%28VS.85%29.aspx
-
Ich benutze das hier:
UUID create_guid() { UUID uuid; ::ZeroMemory( &uuid, sizeof( uuid ) ); if( ::UuidCreate( &uuid ) != RPC_S_OK ) { ::UuidCreateSequential( &uuid ); } return uuid; } AnsiString get_guid_name( const UUID& uuid ) { AnsiString GUID; unsigned char* UIDSTR = 0; if( ::UuidToString( &uuid, &UIDSTR ) == RPC_S_OK ) { GUID = reinterpret_cast<char*>( UIDSTR ); ::RpcStringFree( &UIDSTR ); } return GUID; } AnsiString create_guid_name() { return get_guid_name( create_guid() ); }
-
DocShoe schrieb:
Ich benutze das hier:
UUID create_guid() { UUID uuid; ::ZeroMemory( &uuid, sizeof( uuid ) ); if( ::UuidCreate( &uuid ) != RPC_S_OK ) { ::UuidCreateSequential( &uuid ); } return uuid; } AnsiString get_guid_name( const UUID& uuid ) { AnsiString GUID; unsigned char* UIDSTR = 0; if( ::UuidToString( &uuid, &UIDSTR ) == RPC_S_OK ) { GUID = reinterpret_cast<char*>( UIDSTR ); ::RpcStringFree( &UIDSTR ); } return GUID; } AnsiString create_guid_name() { return get_guid_name( create_guid() ); }
Genau das habe ich gesucht. Anfangs dachte ich,, dass die API Funktion immer die gleiche ID generiert, halt hardwareabhängig. Deswegen bin ich dem nicht nachgegangen. Aber es funktioniert.
Vielen Dank!!!
-
String GetUUID() { GUID guid; CoCreateGuid(&guid); return Sysutils::GUIDToString(guid); }
CoCreateGuid verwendet auch UuidCreate zum erstellen der UUID somit kann man es ein wenig vereinfachen.