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

天津网站推广外包无人区在线观看高清1080

天津网站推广外包,无人区在线观看高清1080,重庆网站备案系统,网站discuz迁移怎么做最近学习sylar项目,编译项目时遇到链接库不匹配的问题,记录下自己解决问题过程,虽然过程很艰难,但还是解决了,以下内容供大家参考! undefined reference to 问题分析 项目编译报错 /usr/bin/ld: ../lib/lib…

最近学习sylar项目,编译项目时遇到链接库不匹配的问题,记录下自己解决问题过程,虽然过程很艰难,但还是解决了,以下内容供大家参考!

undefined reference to ``问题分析

  • 项目编译报错

    /usr/bin/ld: ../lib/libsylar.so: undefined reference to `ZOO_READONLY_STATE'
    /usr/bin/ld: ../lib/libsylar.so: undefined reference to `zookeeper_init2'
    /usr/bin/ld: ../lib/libsylar.so: undefined reference to `zoo_set_servers'
    /usr/bin/ld: ../lib/libsylar.so: undefined reference to `ZOO_NOTCONNECTED_STATE'
    /usr/bin/ld: ../lib/libsylar.so: undefined reference to `zoo_get_current_server'
    /usr/bin/ld: ../lib/libsylar.so: undefined reference to `ZOO_CONTAINER'
    
  • 应该是链接到的库文件中不含这些字符,因为之前是sudo apt-get install libzookeeper-dev安装的,版本较久(3.4.13),我也看了它的头文件源码,确实没有这些定义变量和函数;(注意这里的我看的是zookeeper.h头文件,而libzookeeper_mt.so文件是安装编译时产生的,因此两个文件内容是一致的;下面讲下如何通过二进制文件libzookeeper_mt.so来查看是否包含某种字符)

  • 查看验证libzookeeper_mt.so链接文件是否包含对应的字符

    • find / -name libzookeeper_mt.so/usr/lib/libzookeeper_mt.so
      定位找到了链接文件;
    • nm -D libzookeeper_mt.so | grep ZOO_READONLY_STATE
      查看这个二进制文件中的可显示字符是否有报错的字符,发现并没有,可以确定当前系统安装库的zookeeper版本的确没有对应变量和函数定义,那么就需要安装新的版本库;

编译安装zookeeper

我之前通过apt安装的,并且查看了下里面源库中没有更新的版本,因此只能下载库安装包,手动编译安装;
zookeeper下载地址 https://dlcdn.apache.org/zookeeper/

  • 下载安装包后,可以查看README_packaging.md,里面详细讲解了如何构建和安装这个库,并且指出最终生成的链接文件路径;具体操作如下:

    • 依赖软件包安装命令
      RHEL系统:
    yum install cppunit
    yum install python-setuptools
    yum install openssl openssl-devel
    yum install cyrus-sasl-md5 cyrus-sasl-gssapi cyrus-sasl-devel
    
      Ubuntu系统(适用于 16.04+):
    
    apt-get install libcppunit-dev
    apt-get install python-setuptools python2.7-dev
    apt-get install openssl libssl-dev
    apt-get install libsasl2-modules-gssapi-mit libsasl2-modules libsasl2-dev
    
    • 使用 Maven (没有指令的话需要安装)构建包:以下命令将清理所有内容并构建 tarball 包,同时跳过测试:
    mvn clean install -DskipTests
    
    • 构建 C 客户端,需要激活 full-build 配置文件:
    mvn clean -Pfull-build
    mvn install -Pfull-build -DskipTests
    
    • 编译后文件位置
      - 用户可执行文件在 `zookeeper-client/zookeeper-client-c/target/c/bin`。- 原生库在 `zookeeper-client/zookeeper-client-c/target/c/lib`。		// 我们所需的链接文件路径- 原生库头文件在 `zookeeper-client/zookeeper-client-c/target/c/include/zookeeper`
  • 如果构建安装顺利的话,就可以看到成功显示;
    在这里插入图片描述

  • 下述就是需要的链接文件,然后将对应的文件复制到/usr/lib/ 或者 /usr/local/lib/下,保证系统编译器可以找到;

  • 构建时如果报错,例如需要添加JAVA_HOME环境变量,在~/.bashrc文件中添加,自己安装JAVA的jdk路径即可;
    具体操作见:https://blog.csdn.net/weixin_50570038/article/details/143256298

    构建时报错

最后检查下是否成功

在这里插入图片描述
此时发现可以找到ZOO_READONLY_STATE字符变量,完结!!

通过以上操作,可以解决编译项目过程中,遇到链接文件可能由于版本不支持导致无法成功编译的问题;
反正遇到问题不要怕,一步步分析、解决,这个过程也可以深入理解linux系统下的编译过程(虽然我花了两天才解决这个问题)

http://www.cotm.com.cn/news/228.html

相关文章:

  • 购物网站的前台用什么做宁波百度推广优化
  • 做政府网站同城推广引流平台
  • 网站建设与动态网页目前较好的crm系统
  • 佛山顺德网站建设福州seo代理计费
  • 上海哪里有做网站的it培训机构怎么样
  • 网渠道seo专员是什么意思
  • 企业网站后台模版购买网站域名
  • 现在哪些网站做外贸的好做nba最新排行榜
  • 黄石本土做网站的公司百度大搜推广
  • 怎样做动漫照片下载网站网站推广的技术有哪些
  • 在线手机网站制作营销成功的案例
  • 重庆市住房和城乡建设人才促进网惠州seo招聘
  • 南宁好的网站建设公司百度排行榜风云榜
  • ps手机网站页面设计电商网站平台有哪些
  • 重庆宣传片制作网站优化团队
  • 齐齐哈尔建设局网站首页线上营销推广渠道
  • 有做财经 直播的网站吗合肥全网优化
  • 网站开发人员应该用什么浏览器如何自己做一个网页
  • 自己做网站系统首选平台深圳百度推广代理商
  • 1688成品网站源码下载医疗器械龙头股
  • vps做网站怎么加速超级外链在线发布
  • 网站视频打不开什么原因希爱力5mg效果真实经历
  • 做网站和做软件哪个有发展实体店怎么推广引流
  • 制作微信网站模板下载不了免费的外链平台
  • 网站收费系统平台网站优化软件哪个好
  • 成人高考准考证打印网站嵌入式培训
  • 有实力营销型网站建设佛山seo
  • 深圳网站开发antnw小程序开发教程
  • 微信小程序怎么做网页安阳企业网站优化外包
  • 做网站属于什么工作上海seo公司