精华内容
下载资源
问答
  • /usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu/libSM.so: undefined reference to `uuid_generate@UUID_1.0' /usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu/libSM.so: undefined

    用源码编译,经过cmake -DCMAKE_BUILD_TYPE=Release ..
    运行make -j4出现如下问题:

    /usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu/libSM.so: undefined reference to `uuid_generate@UUID_1.0'
    /usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu/libSM.so: undefined reference to `uuid_unparse_lower@UUID_1.0'
    

    查询之后发现有博主有相关记录,原文:http://www.mamicode.com/info-detail-2654583.html

    内容如下:
    在编译PCL的时候总是报错,其他人都没问题

    后来发现是我cmakePCL的时候,QT引用的是anaconda里的qt。

    本人的解决方法:
    ①修改~/.bashrc里的环境变量
    ②将anaconda2文件夹先重命名成别的即可
    ③它删除了anaconda2/lib下的libuuid库文件。于是我找到自己anaconda2目录下的lib,搜索libuuid,找到了5个文件
    将他们全部删除,再运行make,在一段漫长的等待后,终于成功编译了!(理论上更加推荐,但我目前没有尝试) 参考:https://www.jianshu.com/p/459d4242b3d0

    更详细的内容请查看:
    https://www.jianshu.com/p/459d4242b3d0
    https://blog.csdn.net/u014734886/article/details/93029349

    展开全文
  • linux下安装使用libuuid(uuid-generate)

    千次阅读 2018-09-27 15:12:13
    linux下安装使用libuuid(uuid-generate) linux下安装使用libuuid(uuid-generate) UUID简介 安装libuuid库 编写一个程序试一下 代码 编译运行 UUID简介 UUID含义是通用唯一识别码(Universally ...

    linux下安装使用libuuid(uuid-generate)

    UUID简介

    UUID含义是通用唯一识别码(Universally Unique Identifier),这 是一个软件建构的标准,也是被开源软件基金会 (Open Software Foundation, OSF) 的组织应用在分布式计算环境 (Distributed Computing Environment, DCE) 领域的一部分。

    UUID是指在一台机器上生成的数字,它保证对在同一时空中的所有机器都是唯一的。通常平台会提供生成的API。按照开放软件基金会(OSF)制定的标准计算,用到了以太网卡地址纳秒级时间芯片ID码和许多可能的数字
    UUID由以下几部分的组合:

    1. 当前日期和时间,UUID的第一个部分与时间有关,如果你在生成一个UUID之后,过几秒又生成一个UUID,则第一个部分不同,其余相同。
    2. 时钟序列。
    3. 全局唯一的IEEE机器识别号,如果有网卡,从网卡MAC地址获得,没有网卡以其他方式获得。

    UUID的唯一缺陷在于生成的结果串会比较长。关于UUID这个标准使用最普遍的是微软的GUID(Globals Unique Identifiers)。在ColdFusion中可以用CreateUUID()函数很简单地生成UUID,其格式为:xxxxxxxx-xxxx- xxxx-xxxxxxxxxxxxxxxx(8-4-4-16),其中每个x0-9 a-f 范围内的一个十六进制的数字。而标准的UUID格式为:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx (8-4-4-4-12)

    在linux下生成UUID可以使用libuuiduuid-generate函数

    安装libuuid

    libuuid是一个跨平台的开源的uuid操作库。一般的机器上默认是没有,先安装一下。

    sudo apt-get install uuid-dev 
    

    也可以下载源码来安装,下载地址http://nchc.dl.sourceforge.net/project/libuuid/libuuid-1.0.3.tar.gz

    安装之后可以使用man uuid_generate来查看一下使用方法
    这里先说一下uuid_t这个类型。可以找到uuid.h这个头文件,里面有一行typedef unsigned char uuid_t[16];

    #include <uuid.h>
        void uuid_generate(uuid_t out);
        void uuid_generate_random(uuid_t out);
        void uuid_generate_time(uuid_t out);
        int uuid_generate_time_safe(uuid_t out);

    uuid_generate函数

    优先采用的算法:如果存在一个高质量的随机数生成器(/ dev / urandom),UUID将基于其生成的随机数产生。备用算法:在高质量的随机数生成器不可用的情况下,如果可以获取到MAC地址,则将利用由随机数生成器产生的随机数、当前时间、MAC地址生成UUID。

    uuid_generate_random函数

    强制完全使用随机数,优先使用(/ dev / urandom),备用(伪随机数生成器)。在使用伪随机数生成器的情况下,uuid有重复的风险。

    uuid_generate_time函数
    使用全局时钟、MAC地址。有MAC地址泄露风险。为了保证唯一性还使用的时间同步机制,如果,时间同步机制不可用,多台机器上生成的uuid可能会重复。

    uuid_generate_time_safe函数
    指明由uuid_generate_time生成的uuid是否使用了时间同步机制。

    uuid_unparse函数

    将uuid以36个字节的字符串表示,字符串最后添加'\0',转换后的字符串总共占用37个字节。

    uuid_unparse_upper、uuid_unparse_lower分别是转换成对应的大小写字符串。

    --------------------- 本文来自 jingsihu 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/jingsihu/article/details/68923027?utm_source=copy

    还有一些别的函数,也在这里列出来。看函数名就指定这些函数的意思了,就不多解释。不明白之处找manpages

    复制代码

    #include <uuid.h>
        //比较两个uuid
        int uuid_compare(uuid_t uu1, uuid_t uu2)
        //拷贝src到dst
        void uuid_copy(uuid_t dst, uuid_t src);
        //清除uu内容(清零)
        void uuid_clear(uuid_t uu);
        //判读uu是否为null
        int uuid_is_null(uuid_t uu);
        //解析in指向的字符串形式内容到uu
        int uuid_parse( char *in, uuid_t uu);
        //将uu内容解析为字符串,保存到out数组
        void uuid_unparse(uuid_t uu, char *out);
        void uuid_unparse_upper(uuid_t uu, char *out);
        void uuid_unparse_lower(uuid_t uu, char *out);
        //将基于时间创建的uu在的时间部分解析出来
        time_t uuid_time(uuid_t uu, struct timeval *ret_tv)

    复制代码

     

    编写一个程序试一下

    代码

    复制代码

    #include <stdio.h>
    #include <uuid/uuid.h>
    
    // gcc uuid.c -luuid -o uuid
    
    int main()
    {
        int i,n;
        uuid_t uu[4];
        char buf[1024];
        struct timeval tv;
        //1、
        uuid_generate(uu[0]);
        //2、
        uuid_generate_random(uu[1]);
        //3、
        uuid_generate_time(uu[2]);
        //4、
        n = uuid_generate_time_safe(uu[3]);
        printf("n = %d\n",n);
        for(i=0;i<4;++i){
            uuid_unparse(uu[i],buf);
            printf("uu[%d]\t\t%s\n",i,buf);
        }
    
        uuid_time(uu[2],&tv);
        printf("tv s:%lx  u:%lx\n",tv.tv_sec,tv.tv_usec);
    
    
        return 0;
    }

    复制代码

     

    编译运行

    复制代码

    o@o-pc:~$ gcc uuid.c  -luuid
    o@o-pc:~$ ./a.out 
    n = 0
    uu[0]       0867a44e-b481-4fde-9b3c-1767b60702b6
    uu[1]       3f39e123-288b-4cf1-adf2-77fb763530df
    uu[2]       b071a71e-261a-11e5-8513-28d24473abc3
    uu[3]       b071a71f-261a-11e5-8513-28d24473abc3
    tv s:559e3b19  u:90543
    
    展开全文
  • uuid_generate

    千次阅读 2013-04-10 16:52:13
    http://blog.chinaunix.net/uid-12567959-id-161022.html Name uuid_generate, uuid_generate_random, uuid_generate_time - create a newunique UUID value Synopsis #include uuid/uuid.h> void uuid_g

    http://blog.chinaunix.net/uid-12567959-id-161022.html

    Name

    uuid_generate, uuid_generate_random, uuid_generate_time - create a newunique UUID value

    Synopsis

    #include <uuid/uuid.h>

    void uuid_generate(uuid_t
    out);
    void uuid_generate_random(uuid_t
    out);
    void uuid_generate_time(uuid_t
    out);


    Description
    The uuid_generate function creates a new universally uniqueidentifier (UUID). The uuid will be generated based on high-quality randomnessfrom

    /dev/urandom, ifavailable. If it is not available, then uuid_generate

    will use an alternative algorithm which uses the current time, the localethernet MAC address (if available), and random data generated using apseudo-random generator.


    The uuid_generate_random function forces the use of the all-randomUUID format, even if a high-quality random number generator (i.e., /dev/urandom)is not available, in which case a pseudo-random generator will be subsituted.Note that the use of a pseudo-random generator may compromise the uniqueness ofUUID's generated in this fashion.


    The uuid_generate_time function forces the use of the alternativealgorithm which uses the current time and the local ethernet MAC address (ifavailable). This algorithm used to be the default one used to generate UUID,but because of the use of the ethernet MAC address, it can leak informationabout when and where the UUID was generated. This can cause privacy problems insome applications, so the uuid_generate function only uses thisalgorithm if a high-quality source of randomness is not available.


    The UUID is 16 bytes (128 bits) long, which gives approximately 3.4x10^38unique values (there are approximately 10^80 elemntary particles in theuniverse according to Carl Sagan's Cosmos). The new UUID can reasonablybe considered unique among all UUIDs created on the local system, and amongUUIDs created on other systems in the past and in the future.

    Return Value

    The newly created UUID is returned in the memory location pointed to by out.

    Conforming To

    OSF DCE 1.1

    Author

    Theodore Y. Ts'o

    Availability

    http://e2fsprogs.sourceforge.net/

    See Also

    uuid(3), uuidgen(1),uuid_clear(3), uuid_compare(3), uuid_copy(3), uuid_is_null(3), uuid_parse(3), uuid_time(3), uuid_unparse(3)

    Referenced By

    libuuid(3)
    展开全文
  •  unsigned short* time_hi_and_version = (unsigned short*) uuid->Data3;  *time_hi_and_version = (*time_hi_and_version & 0x0FFF) | 0x4000; } //TODO: Should we implement these functions...

    由于种种原因,需要在mingw下用uuid_generate, mingw 自带的libuuid 没有uuid_generate, 于是开始疯狂google

    最后在这里找到了一个可以用的版本

    http://sourceforge.net/p/libuuidmingw/

    其中,文件gen_uuid.c需要做一些修改,修改后的文件如下

    /*
     * gen_uuid.c
     *
     *  Created on: 2011/02/13
     *      Author: psi
     */
    
    /**
     *  See also: http://linux.die.net/man/3/uuid_generate
     */
    
    #include "uuid_inner.h"
    
    void uuid_generate(uuid_t out){
        UuidCreateNil((UUID*)out);
        UuidCreate((UUID*)out);
    }
    void uuid_generate_random(uuid_t out){
        char* buf = (char *) out;
        int i;
        for(i=0;i<UUID_T_LENGTH;i++){
            buf[i] = (rand() >> 20) & 0xff;
        }
        UUID* uuid = out;
    
        //see also original libuuid source.
        unsigned short* clock_seq = (unsigned short*) uuid->Data4;
        *clock_seq = (*clock_seq & 0x3FFF) | 0x8000;
        unsigned short* time_hi_and_version = (unsigned short*) uuid->Data3;
        *time_hi_and_version = (*time_hi_and_version & 0x0FFF) | 0x4000;
    }
    //TODO: Should we implement these functions?
    void uuid_generate_time(uuid_t out){
        UuidCreateNil((UUID*)out);
        UuidCreate((UUID*)out);
    }


    如果在msys中直接autoconf会报错,正确的编译方法为

    libtoolize --force
    aclocal
    autoheader
    automake --force-missing --add-missing
    autoconf
    ./configure
    make

    这个库实际上是封装了winapi中的UuidCreate 等函数,因此在使用时,需要额外链接  librpcdce4.a librpcrt4.a 这两个库



    转载于:https://my.oschina.net/fireman2011/blog/220685

    展开全文
  • UUID详解

    千次阅读 2017-05-18 09:55:53
    UUID含义是通用唯一识别码 (Universally Unique Identifier),这 是一个软件建构的标准,也是被开源软件基金会 (Open Software Foundation, OSF) 的组织在分布式计算环境 (Distributed Computing Environment, ...
  • 【SourceForge】libuuid下载 ...uuid_generate(): 优先算法:若有一高质量随机数生成器【/dev/urandom】,UUID将基于其生成的随机数产生 备用算法:上述条件不满足时,若可取到MAC地址,则将用由伪随机数生成
  • 1、uuid()函数mysql> select uuid(),uuid(); +--------------------------------------+--------------------------------------+ | uuid() | uuid() | +
  • 项目中需要将原有的id统一改为uuid,于是直接用boost中的uuid库来生成uuid。 但在测试中发现程序性能严重下降,原来每分钟能处理60万条数据,使用uuid后只能处理2万条左右。 于是跟踪之,先看我们的实现方式: ...
  • default:uuid_generate_v4()"` FirstName string `form:"first_name" json:"first_name,omitempty"` LastName string `form:"last_name" json:"last_name,omitempty"` Password string `form:"password" json:...
  • uuid_generate_time(uu); memset(keys, 0x00, sizeof(keys)); sprintf(keys, "%x", uu); return 0; } int main(int argc, char** argv) { char keys[50], keys2[50], keys3[50]; save2cache(keys); ...
  • hibernate 自定义UUID(mysql uuid_short)

    千次阅读 2014-03-16 07:54:48
    UUID生成类 3 import org.apache.commons.logging.Log; 4 import org.apache.commons.logging.LogFactory; 5 import org.hibernate.HibernateException; 6 import org.hibernate.MappingException; 7...
  • FreeSwitch 终端命令详细介绍

    万次阅读 2016-08-15 16:10:11
    originate,<call url> |&<application_name>(<app_args>) [] [] [<cid_name>] [<cid_num>] [<timeout_sec>] 作用:发起一个呼叫 示例: originate user/1000 &echo ...
  • Linux下取得UUID

    千次阅读 2012-12-13 10:34:42
    参考:http://www.bolenot.ru/library/cmd/blcmdl3_uuid_generate_random.htm char *psz_buf = malloc( 64 );  if ( !psz_buf )  return NULL;...uuid_generate_random( uu ); uuid_unparse
  • uuid (c++ 实现)

    万次阅读 2013-04-16 21:43:07
    UUID含义是通用唯一识别码 (Universally Unique Identifier),这 是一个软件建构的标准,也是被开源软件基金会 (Open Software Foundation, OSF) 的组织应用在分布式计算环境 (Distributed Computing ...
  • python 使用uuid设置唯一值

    千次阅读 2013-12-31 18:45:57
    最近需要用到一个唯一值,想起了UUID,python2.4.3没有自带这个模块,需要单独安装: 1.下载:去pypi下载tar包 http://pypi.python.org/pypi/uuid/ 直接下载: 2.安装 tar xzvf uuid-1.30.tar.gzcd uuid-1.30sudo ...
  • setvar,<var>=<value> [=],Set global var,mod_commands group,[insert|delete|call]:<group name>:,group [insert|delete|call],mod_db group_call,[@],Generate a dial string to call a group,mod_commands hash,...
  • postgresql 数据库 generate_series() 函数实例 补全时间进行统计 文章目录postgresql 数据库 generate_series() 函数实例 补全时间进行统计问题补全日期1.1 generate_series()1.2 用法二 处理方法 今天碰到一个问题...
  • "guid" uuid NOT NULL DEFAULT uuid_generate_v4(), "data" jsonb, "create_time" timestamptz(6) DEFAULT now(), CONSTRAINT "test_pkey" PRIMARY KEY ("guid") ); 报错: ERROR: function uuid_generate_v4...
  • ubifs文件系统制作与移植

    千次阅读 2014-01-09 15:31:07
    UBIFS文件系统使用 ...在linux-2.6.27以前,谈到Flash文件系统,大家很多时候多会想到cramfs、jffs2、yaffs2等文件系统。...linux-2.6.27后,内核加入了一种新型的flash文件系统UBIFS(Unsorted Block Image ...
  • 1、Postgresql数据库安装 安装PG数据库需要注意的是,使用几何空间列必须安装PostGIS 2.5.0 插件。 ...select uuid_generate_v4(); 结果如下,说明成功: 2.2、id生成函数 pgsql默认自增长序号。
  • 开源库libuuid简介及使用

    千次阅读 2019-07-03 21:24:17
    libuuid是一个开源的用于生成UUID(Universally Unique Identifier,通用唯一标识符)的库,它的源码可从https://sourceforge.net/projects/libuuid/ 下载...UUID来源于OSF(Open Software Foundation,开源软件基金会...
  • java uuid生成器 Java UUID (Java UUID) Java UUID (Universally Unique Identifier) class is part of java.util package. Java UUID class represents an immutable universally unique identifier and represents...
  • FreeSWITCH dialplan APPlication

    万次阅读 2016-07-17 23:52:32
    – 如果知道一个信道的uuid,则可用于掌管这个通话并接听这个通话 ivr – 运行一个IVR菜单 J javascript – 在diaplan中运行一个JavaScript脚本 jitterbuffer – 向一个会话(Session)发送一个抖动...
  • java uuid静态方法 UUID类名UUIDFromBytes()方法 (UUID Class nameUUIDFromBytes() method) nameUUIDFromBytes() method is available in java.util package. java.util包中提供了nameUUIDFromBytes()方法 。 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 6,708
精华内容 2,683
关键字:

uuid_generate_time