zoukankan      html  css  js  c++  java
  • 痛苦的版本对齐(2) 和时间的相关性

    为什么有些环境,之前好好的,过一段时间后不能用了?

    虽然不能说是绝对的原因,很大一部分是因为临时文件等引起的。

    【问题回顾】 

    1、改变了工具链

    再回到近期 cygwin + cross toolchain 对 u-boot 版本的环境再搭建。

    春节前,尝试使用Sourcery G++ Lite 2009q1-203 工具链(Mentor Graphics收购了),进行编译构建。

    由于Sourcery G++ Lite 本身是基于 windows直接工作的(minGW机制),所以和 cygwin配置是需要特殊设定。

    特殊之处就是 路径的表示

    对于windows/dos路径为 d:cygwinin

    对于cygwin路径为  /cygdrive/d/cygwin/bin

     cygwin的差别,在于cygdrive的路径映射(cygdrive相当于将windows下“我的电脑”的映射路径)

     其他就和linux和windows的差别一样,主要是 和 /,另外就是linux下没有 :(冒号)。

     为了解决该问题,Sourcery G++ Lite需要配置环境变量 CYGPATH:export CYGPATH=c:/cygwin/bin/cygpath (根据实际cygwin路径配置)

    2、可以正常使用(这并非全部真实的)

     配置了 CYGPATH后,就可以正常运行了,一切正常。

    3、春节后,无法工作了。

    告警错误如下:

    .depend:9: *** multiple target patterns.  Stop

    【问题找到了,还未完全解决】

     找到错误提示的.depend文件,看到如下部分信息:

      /u-boot-1.1.6/u-boot-1.1.6/include/asm/ptrace.h 
      /u-boot-1.1.6/u-boot-1.1.6/include/asm/proc/ptrace.h 
      d:/cygwin/arm-2009q1/bin/../lib/gcc/arm-none-linux-gnueabi/4.3.3/include/stdarg.h 

    由于 出现了 冒号,导致工具链无法工作,因为:是make的target标记信息。
    而之前能够运行,是在工具链切换前,之前的相近工具链刚编译过,正确的.depend的文件已经建立好了,编译时直接用正确的了。

    之后不行了,是过了较久,make重新生成该部分信息。

    【问题还会跟踪,但经验也要收敛】

    版本对齐要求中,有多加了一项,清理临时文件。

  • 相关阅读:
    Python IDE
    Codeforces Beta Round #69 Div1
    HDU1595 find the longest of the shortest[最短路]
    MFC/OpenGL下的调色板
    ApacheCN 编程/大数据/数据科学/人工智能学习资源 2019.12
    计算机电子书 2016 BiliDrive 备份
    计算机电子书 2017 BiliDrive 备份
    Java项目中常见的异常处理
    从小工到专家第三次读后感
    《梦断代码》读后感1
  • 原文地址:https://www.cnblogs.com/yvivid/p/3541142.html
Copyright © 2011-2022 走看看