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

长安手机网站建设关于企业网站建设数据现状分析

长安手机网站建设,关于企业网站建设数据现状分析,wordpress整合ck播放器,济南网站制作多少钱一个目录 背景 开始动手! 第一种 第二种 第三种 背景 一个常见的问题就是: 拿到客户的开发板后需要验证自己本地搭建的交叉编译环境是否正确,这影响到后续的开发. glibc就是指libc.so.6这个动态库,libc.so.6软链接到实际的动态库. 开始动手! 在开发板上,如果有例子比如说可执…目录 背景 开始动手! 第一种 第二种 第三种 背景 一个常见的问题就是: 拿到客户的开发板后需要验证自己本地搭建的交叉编译环境是否正确,这影响到后续的开发. glibc就是指libc.so.6这个动态库,libc.so.6软链接到实际的动态库. 开始动手! 在开发板上,如果有例子比如说可执行程序.那么可以通过 nm sample_adc | grep GLIBC_ : sample_adc(作为可执行程序) 查看那些调用是用到glibc 库的 通过 strings /lib/x86_64-linux-gnu/libc.so.6 |grep GLIBC_ 查看glibc 的所有版本,如果是开发板注意库的路径. 查看开发板和本地linux所支持的最高版本,目前我的工作证明链接低版本的glibc的bin可以在高版本上运行,高版本编译的bin不能在低版本的glib的环境中运行。 网上看了很多种方式总结下来有这么几种: 个人推荐用第三种,既不影响本地的glibc,又能完成目标. 第一种 参考 linux安装指定版本glibc适配降级_redhat6.9降级glibc-CSDN博客 1.更新linux系统的glibc的版本使得可以和开发板上适配.一般都是开发板上的glibc的版本过低.需要降低本地的glibc的版本. 这种方式我破天荒在第一次安装好低版本的glibc库后,通过在/etc/profile中 加入 export LD_LIBRARY_PATH$LD_LIBRARY_PATH:/opt/glibc-2.25/lib 再执行 ‘source /etc/profile’   使得再本地终端中生效,第一次编译刚好没有问题,make 命令竟然没有报错,而且编译出的bin在开发板上能运行 .因为那天是星期五快下班了没怎么关注make是如何链接到glibc的.就没有关注,直到星期一,发现make不了了,因为make是在/usr/bin 中  它链接的是export 之前的 glibc 库 , 而export 修改了 LD_LIBRARY_PATH 的值,导致找不到之前链接的动态库了.这一点怎么在之前却没有出现 ls 等其他命令都出现了问题因为它们这些可执行命令都链接的是之前的glibc .除非用 sudo ls 才会生效. 后面未找到解决方法.本身这种方式也不灵活且会导致很多问题. 第二种 这种方式是在搜索途中找到的.通过指定动态库路径和库名的方式去编译. 但是对于非本人开发的SDK(以Makefile构建)的项目来看,肯定是不希望改动Makefile文件的.按照开发者的规则来进行能降低奇奇怪怪的错误. 参考 高版本gcc编译出的程序在低版本glibc机器上运行 - 简书 (jianshu.com) 这种方法如果是自己比较熟悉的工程通过指定路径的方式未尝不是一种比较好的选择. 第三种 通过patchelf的方式,这种方式是修改二进制的方式.把编译出来的二进制程序所链接的glibc动态库进行修改,这种方式形象的比喻就是  无论过程如何,但是编译的产物bin所链接的bin 通过 pathcelf 修改. 这种方式,我使用起来效果甚好,所以详细描述. 查看二进制程序依赖的glibc库及其库版本 nm sample_adc | grep GLIBC_ 通过 file xxx(bin二进制可执行程序) 查看链接的库. 发现链接的是系统的 /lib下的库.(这里看不出glibc,但patchelf修改后会有变化通过这点来验证patchelf是否成功). 使用patchelf需要准备一下几件事: 确定开发板上的glibc的版本比如开发板上最高是2.25,那么我们要确定自己本地要装2.25的glibc的库.在本地的linux系统下(我这里的ubuntu)下载glibc的库然后编译.这一点有些问题。参考linux安装指定版本glibc适配降级_redhat6.9降级glibc-CSDN博客 注意 ../configure --prefix/opt/glibc-2.17 --disable-werror 使得make make install 能够通过 还有一种方式. 通过glibc-all-in-one 这个工具来管理glibc,支持下载和编译具体的glibc库.这一种也是我推荐的.能用工具来管理当然就用工具来管理了. 做完以上的两件事则能够得到编译后的glibc库了,接下来就是按照patchelf. //新建目录git clone https://github.com/NixOS/patchelf.git //进行仓库 ./bootstrap.sh (.bootstrap.sh执行报 autoreconf: not found 执行sudo apt-get install autoconf automake libtool) ./configure make make check sudo make install安装完后.通过输入patchelf 查看是否安装成功. 以编译后的可执行程序来指定与开发板适配的glibc:以2.25为例: patchelf --set-interpreter  xxx(第一步编译的glibc的文件路经也就是libc.so.6) --set-rpath  xxx(第一步编译的glibc的搜索路径)  xxx(可执行程序) 比如: patchelf --set-interpreter /opt/glibc-2.25/lib/libc.so.6(glibc的文件路经) --set-rpath /opt/glibc-2.25/lib(glibc的搜索路径) spi_master(可执行程序) 没有输出则成功: 通过 file xxxx 查看 此时此刻拷贝到开发板中运行,正确运行.
http://www.zqtcl.cn/news/675710/

相关文章:

  • 公交车网站怎么做留言板新公司起名大全
  • asp.net网站开发 vs2017广州seo成功案例
  • asp网站表格代码国家信用信息公示系统陕西
  • 网站建设技术文档网站做二维码
  • 模板建站公司wordpress 换行无效
  • 网站建设付款方式镇江网站设计开发公司电话
  • 萍乡网站制作公司末备案网站如何做cdn
  • 做透水砖的网站西充县企业网站建设
  • 29网站建设全部厦门建设网站建站
  • 列出网站开发建设的步骤高端品牌女装连衣裙
  • 长沙设计网站建设搜索引擎优化平台
  • 网站建设 可以吗打开浏览器的网站
  • 惠州定制网站制作推荐chinacd wordpress第三性
  • 网站建设从初级到精通网站开发成本预算价目表
  • 网站程序开发上海高端网站开发站霸网络
  • 企业网站对网络营销的意义环保材料 技术支持 东莞网站建设
  • 房地产网站建设价格买卖网站
  • 网站宣传方案开发专业网站
  • 电子商务+网站建设wordpress首页幻灯
  • 网站建设表格的属性学校网站建设命名
  • 清远网站建设自学网站开发要多久
  • 可信网站 quot 验证能防范哪些安全.教育类app开发价格表
  • 网站设计服务流程深圳网站设计公司费用大概多少
  • 邮件网站怎么做的本地计算机做网站服务器
  • 自己建的网站打不开html5 手机网站 模版
  • 网站建设跟网站结构如何提高网站排名的方法
  • 网站模板 缓存商标网上开店创业计划书
  • 沧州网站建设微艾薇怎样给企业做网站
  • 如何做淘宝客的网站个人网站设计与制作代码
  • 信用门户网站建设观摩惠州专业做网站