当前位置: 首页 > news >正文

全球最热门网站百度网站没收录

全球最热门网站,百度网站没收录,餐饮网站模板免费下载,火车头wordpress数据库1 问题背景说明 在自己的项目源码中引用libeasysqlite.so时编译成功#xff0c;但运行时遇到问题直接报错#xff0c;找不到符号 symbol#xff1a;_ZN3sql5FieldC1ENSt3__112basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEENS_10field_typeEi。 2 问题描述和解…1 问题背景说明 在自己的项目源码中引用libeasysqlite.so时编译成功但运行时遇到问题直接报错找不到符号 symbol_ZN3sql5FieldC1ENSt3__112basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEENS_10field_typeEi。 2 问题描述和解读 使用cfilt查看符号表中未知的这个符号 $cfilt _ZN3sql5FieldC1ENSt3__112basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEENS_10field_typeEisql::Field::Field(std::__1::basic_stringchar, std::__1::char_traitschar, std::__1::allocatorchar , sql::field_type, int)查询到该符号对应的真实函数为 sql::Field::Field(std::__1::basic_stringchar, std::__1::char_traitschar, std::__1::allocatorchar , sql::field_type, int) 接下来在使用nm命令查询libeasysqlite.so看是否有该符号对应的函数。使用nm命令查看如下所示 .../data/sqlite/build$ nm -gC libeasysqlite.so |grep sql::Field::Field 000000000002fca0 T sql::Field::Field(sql::field_use) 000000000002fd80 T sql::Field::Field(std::__cxx11::basic_stringchar, std::char_traitschar, std::allocatorchar , sql::field_type, int) 0000000000038394 W sql::Field::Field(sql::Field) 00000000000320c4 W sql::Field::Field(sql::Field const) 000000000002fca0 T sql::Field::Field(sql::field_use) 000000000002fd80 T sql::Field::Field(std::__cxx11::basic_stringchar, std::char_traitschar, std::allocatorchar , sql::field_type, int) 0000000000038394 W sql::Field::Field(sql::Field) 00000000000320c4 W sql::Field::Field(sql::Field const) 这里发现并没有我们需要的sql::Field::Field(std::__1::basic_stringchar, std::__1::char_traitschar, std::__1::allocatorchar , sql::field_type, int)方法而是有一个类似的sql::Field::Field(std::__cxx11::basic_stringchar, std::char_traitschar, std::allocatorchar , sql::field_type, int)方法这就说明有可能是编译时使用的链接库不同而导致的问题。 这里是cxx11空间对应的是 C11版本的链接库而我们需要的是__1空间的库也就是C03版本的链接库。那么如何修改呢就是在CMakeList.txt文件中添加一些参数如下所示 set(CMAKE_CXX_COMPILER clang-14) set(CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS} -stdc11 -stdliblibc) 重新编译libeasysqlite.so库。这样在编译生成库的时候就会强制使用C03版本的标准了再次make编译出sql库即可。 接下来开始测试该库。修改后执行nm命令查看如下所示 .../data/sqlite/build$ nm -gC libeasysqlite.so |grep sql::Field::Field 00000000000244b0 T sql::Field::Field(sql::field_use) 0000000000024590 T sql::Field::Field(std::__1::basic_stringchar, std::__1::char_traitschar, std::__1::allocatorchar , sql::field_type, int) 00000000000244b0 T sql::Field::Field(sql::field_use) 0000000000024590 T sql::Field::Field(std::__1::basic_stringchar, std::__1::char_traitschar, std::__1::allocatorchar , sql::field_type, int) 0000000000029e54 W sql::Field::Field(sql::Field) 000000000002734c W sql::Field::Field(sql::Field const) 这样就和我们需要的对上了。 3 问题总结 该类问题的解决步骤如下所示 遇到这类问题时基本上都是使用cfilt来将符号表中的符号转换。确认符号是否在库中如果不在库中那么可能是链接库的版本或者编译方式不对。修正编译方式/库的版本确认符号表中的符号可以对上。接下来进行实测即可。
http://www.hkea.cn/news/14378112/

相关文章:

  • 生成网站 目录个人网站风格设计
  • 网站内链检测工具如何开无货源网店
  • 网站开发+职位描述士兵突击网站怎么做
  • 网站模板内容怎么改学校网站建设推进会
  • 贵州省建设厅官方网站官网硬件外包平台
  • 哪里做网站的从事网站开发方向
  • 湖北网站推广WordPress协会学院主题模板
  • 金猪云高端网站建设可以做100张照片的软件
  • 汉川建设局网站wordpress添加flash
  • 樟木头镇做网站网站建立不安全怎么设置通过
  • 建设网站企业邮箱高端大气企业网站模板
  • 做网站工商局要不要备案呢wordpress怎么中文字体
  • 江西泰飞建设有限公司网站西宁专业做网站
  • 建网站公司汽车六万公里是否累变速箱油网站建设服务费怎么做会计分录
  • 花店网站建设实训总结深圳市住房和建设局网站住房
  • 太仓建设工程网站网站建设最重要的是什么
  • 深圳坪山新闻seo网站推广收费
  • 网站开发设计内容烟台网站建设找三硕科技
  • 站长统计官网牛商网做的网站
  • 浙江网站推广html网页设计介绍
  • 网站设计 加英文费用一卡2卡三卡4卡入口天堂
  • 个人网站的设计论文西安小程序开发费用
  • 网站建设公司有哪些内容机关门花网站建设
  • 做微信电影网站做网站设计哪里有
  • 58同城北京网站建设有了域名和空间怎么做网站内容
  • 新乡网站建设哪家实力强成品免费观看网站
  • 网站建设中搜索引擎html设计素材网站
  • 移动网站mip简述站点推广有哪些方式
  • 建设网站的费用属于郑州新闻发布会直播
  • 做模型找三视图那些网站建设银行网站最近打不开吗