项目开发中需要使用guid生成唯一标识,首先需要安装uuid库
sudo apt-get install uuid-dev
否则编译时会出现使用中出现如下错误
fatal error: uuid/uuid.h: No such file or directory #include <uuid/uuid.h>
安装后输入 ldconfig -p|grep uuid查看安装目录
问题1
error: no matching function for call to ‘rapidjson::PrettyWriter<rapidjson::GenericStringBuffer<rapidjson::UTF8<> > >::String(std::__cxx11::string&)’ writer.Key("GUID");writer.String(uuidstr);
解决方法:输出json格式信息的时候
writer.Key("GUID");writer.String(uuidstr)改为
writer.Key("GUID");writer.String(uuidstr.c_str());
问题2:
undefined reference to symbol 'uuid_generate@@UUID_1.0'//lib/x86_64-linux-gnu/libuuid.so.1: error adding symbols: DSO missing from command line
解决方法:
尝试网上说的方法,但不生效
sudo rm ~/anaconda3/lib/libuuid.so.1
sudo ln -s /usr/lib/x86_64-linux-gnu/libuuid.so.1 ~/anaconda3/lib/libuuid.so.1
后来测试,在cmakelist文件中,添加链接库uuid,问题解决
target_link_libraries(main ${OpenCV_LIBS} ${CUDA_LIBS} uuid)