2009-07-06 11 views
32

Sto provando a sostituire una chiamata a :: CoCreateGUID in modo da poter generare GUID in un programma C++ su Linux.Come ottengo/utilizzo LibUUID?

Capisco che sia supportato da libuuid e ho letto this question.

Sono un po 'nuova per Ubuntu/GCC/Linux, quindi ho iniziato fuori in questo modo:

#include <uuid/uuid.h> 

E ora mi sono bloccato :) G ++ non riesce a trovare uuid.h, e io non sono sicuro di come trovarlo/trovarlo

+0

Per espandere l'argomento, su Gentoo: * Ricerca di /usr/include/uuid/uuid.h .. sys-apps/util-linux-2.18-r1 (/usr/include/uuid/uuid.h) –

+3

Inoltre, vale la pena notare che sugli attuali kernel di Linux è possibile ottenere un uuid leggendo/proc/sys/kernel/random/uuid – Josef

risposta

55

In Ubuntu, è possibile fare apt-cache search libuuid per visualizzare i pacchetti disponibili relativi al testo libuuid. Ecco la mia uscita da Ubuntu 9.04:

$ apt-cache search libuuid 
libuuid-perl - Perl extension for using UUID interfaces as defined in e2fsprogs 
libuuid1 - universally unique id library 
libuuid1-dbg - Debugging information for libuuid1 
uuid-dev - universally unique id library - headers and static libraries 
uuid-runtime - universally unique id library 
libuuidm-ocaml-dev - Universally unique identifiers for OCaml 

Quindi penso quello che si desidera è uuid-dev, e possibilmente uuid-runtime. Esegui il comando sudo apt-get install uuid-dev e dovrebbe installare le intestazioni e le librerie necessarie per superare il problema che stai riscontrando.

+4

thx, che assomiglia a quello che mi mancava, ho eseguito questo: "apt-get install uuid-dev" e questo ha risolto il mio problema. –

14

E 'anche opportuno ricordare che questo è parte di util-linux disponibile qui:

http://www.kernel.org/pub/linux/utils/util-linux/

+2

Questo sarebbe per coloro che desiderano compilare il pacchetto dalla fonte. Se stai usando Ubuntu (o Debian), il pacchetto 'apt-get' dei pacchetti ** dev ** è la soluzione appropriata. –