精华内容
下载资源
问答
  • 1.现象:开机后Sql服务无法启动,没有错误提示。重启无效。 2.

    1. 现象:开机后Sql服务无法启动,没有错误提示。重启无效。SQL 2005,WindowsXP。
    2. 解决:
      • 查看系统日志信息
      • 提示的错误信息:
      • 错误: 9003,严重度: 20,状态: 1 The LSN (4:272:1) passed to log scan in database 'model' is invalid.   
      • 百度错误信息,解决办法:下述为其中最简单易懂的办法
      • 找到正常使用的数据库实例下的Model.mdf,modellog.ldf ,将其拷贝到无法启动的数据库的所在目录下的MSSQL\Data下,覆盖原来的Model.mdf,modellog.ldf两个文件. 
      • 之后sql服务成功启动。
    3. 总结:
      • 首先要查看系统日志信息
      • 仔细看错误提示信息,百度搜索错误信息
      • 不要无谓的重启

    展开全文
  • 2、企业信息系统团队 建立内部软件系统,让 Spacex 得以运转。 这个团队中的成员身兼多职,但他们开发和发布的旗舰产品,几乎所有 SpaceX 员工都在使用的内部 Web 应用程序。 包括: 创建采购订单和填写零件库存的...

    (给程序员的那些事加星标)

    原创:程序员的那些事(id:iProgrammer)

    有今天凌晨在看直播的童鞋么?

    北京时间5月31日凌晨3点22分,NASA 与 SpaceX 合作,猎鹰9号火箭顺利升空。这是 SpaceX 公司首次利用载人龙飞船,把两位宇航员送入地球轨道。龙飞船目前正在追逐国际空间站,预计 19 个小时后,尝试与国际空间站对接。

    (猎鹰9号火箭升空)

    有网友调侃道,「卖电动车的都在发射火箭了」

    可能有程序员(包括我自己)对 SpaceX 工程师们用到的技术栈感兴趣了。于是就搜寻相关公开信息。

    终于找到 2013 年 SpaceX 的软件工程师在 Reddit 做过一次公开回应,回答网友们的提问。

    一、SpaceX 软件工程师团队在干什么

    SpaceX 软件工程师的目标有 2 个:

    • 火箭和航天器上运行的代码;

    • 火箭和航天器的设计和制造过程的代码;

    工作内容范围就很大了,从大型 Web 应用到小型嵌入式计算平台都有涉及。

    SpaceX 软件工程师的技术栈:

    • C#、MVC4、EF、MSSQL (REST);

    • Javascript、Knockout、Handlebars、LESS;

    • C++、Linux、C、Python、LabVIEW、MATLAB;

    看到这,肯定有人冒出疑问了,C# 和 MVC 与火箭发射没有关联吧?

    嗯,没关系,它们是用来开发内部信息系统的。

    SpaceX 有 4 个独立的软件团队。

    1、飞行软件团队

    大约有 35 人(这是 2013 年的人数)。猎鹰9号火箭、蚱蜢火箭和龙飞船上所有的代码,都由飞行软件团队包圆了。

    此外,他们还得:

    • 编写仿真软件,测试飞行代码;

    • 编写部署在地面站的通信和分析软件;

    • 在飞行任务控制部门工作,为现役任务提供支持。

    2、企业信息系统团队

    建立内部软件系统,让 Spacex 得以运转。

    这个团队中的成员身兼多职,但他们开发和发布的旗舰产品,几乎所有 SpaceX 员工都在使用的内部 Web 应用程序。

    包括:

    • 创建采购订单和填写零件库存的人员,

    • 工程师创建设计和工作订单,

    • 技术人员在现场打卡并根据这些设计查看当天的工作内容。

    • (基本涉及到方方面面了。市面上有一些商业化产品可以满足他们的需求,但 SpaceX 是自己开发了)

    SpaceX 正在从一个研究和工程公司转型为一个制造公司,该团队功不可没。他们充分利用了C#/MVC4/EF/SQL、Javascript/Knockout/Handlebars/LESS 和 REST API。

    3、地面软件团队

    这个团队大约有 9 人。主要在 LabVIEW 中编码,开发用于任务和发射控制的 GUI,供工程师和操作人员监控飞行器遥测和指挥火箭、航天器和平台支持设备。

    他们在高度分布式系统中推送高带宽的数据,并实现由严格要求的复杂用户界面,以确保操作人员能够及时控制和评估航天器。

    LabVIEW 是什么?

    LabVIEW(英语:Laboratory Virtual Instrumentation Engineering Workbench)是由美国国家仪器公司所开发的图形化程序编译平台,由杰夫·考度斯基(Jeff Kodosky)发明,程序最初于 1986 年在苹果电脑上发表。

    LabVIEW 早期是为了仪器自动控制所设计,至今转变成为一种逐渐成熟的高级编程语言,目前广泛的被应用于工业自动化之领域上。

    图形化程序与传统编程语言之不同点在于程序流程采用"数据流"之概念打破传统之思维模式,使得程序设计者在流程图构思完毕的同时也完成了程序的编写。—— 维基百科

    4、航电测试团队

    他们与航电硬件设计工程师一起合作,编写测试软件,尽早发现硬件问题。

    该团队的主要任务:写出非常全面和强大的软件,以便能够在大批量的情况下自动发现硬件的问题。

    测试软件通常是在机械环境测试的时候运行。

    二、SpaceX 工程师答网友问

    问:导航/推进控制系统用了哪种操作系统?

    答:龙飞船和猎鹰9号用的是 Linux。

    问:主力编程语言是哪个?

    答:火箭和飞船都是 C++。

    【说明】:可能有童鞋要问,前文技术栈栈提到了 Python,怎么没有说用在哪方面。测试团队做自动化测试时,肯定用了 Python 脚本了。

    问:你们当前最大的项目代码量是多少?

    答:运载工具代码约为几十万行。

    问:维护麻烦吗?

    答:不麻烦,这就是我们的工作!实际上,我们对代码库非常满意。

    问:你们最具挑战性的项目是什么?为什么?

    答:龙飞船对接国际空间站是一个重大挑战。因为必须要开发许多新代码。

    (程序员的那些事 补充:今天成功发射的龙飞船,可以自动与空间站完成对接。第一代龙飞船需要借助空间站上的机械臂。当然,载人龙飞船也保留了人工对接的选项。SpaceX 在 2013 年的龙飞船是第几代,我没查。

    问:你们觉得最有成就的是什么?

    答:龙飞船对接国际空间站。

    问:你们怎么平衡工作/生活?我听说在 SpaceX 很容易职业倦怠。你们都在煎熬吗?

    答:SpaceX 体现了小型企业的心态。我们全都投资于 SpaceX 及其成功。话虽如此,我们的工作时间却更长。归根结底,还是要看你生活中最重要的是什么。我们当然要应对职业倦怠,那就是休假 :-)。

    就我个人来说,大多数时候我甚至没有注意到我已经工作了12~14个小时。我看着时钟,想着“时间真快在哪里?”。我认为这证明了我们对项目感到兴奋的程度。当你真正享受自己的工作时,并不会感觉像是在工作。话虽如此,我仍然会时不时地休假,借以保持理智。

    (程序员的那些事 补充:我查看了 SpaceX 的招聘信息,很多技术岗位,基本都有一个额外要求:必要的时候,能加班。 )

    还有个当年正在攻读天体物理学的学位的童鞋问:

    对于航天行业,你们觉得最常用/最有用的编程语言是什么?我的编程经验非常少,而且很想开始学习,因为这个行业的每一个方面/研究似乎都需要对编程有一定的了解。

    SpaceX 工程师的回复:

    对于所有软件工程师来说,C 语言是一门很好的入门语言。它迫使你学习 CPU 是如何工作的,内存是如何工作的,等等。一旦你掌握了 C 语言之后,再去看 C++。

    我们团队所有人都有不同的背景,没有什么特别的路径,我们都是沿着一条路走到这里的。就我个人而言,我在学校里得到的最好经验就是做了个人编程项目。这年头在网上和应用商店里有很多机会,可以做一个产品,公开自己的作品让他人看到。


    最后附上一个视频:动画演示 SpaceX 龙飞船如何送宇航员去国际空间站

    (视频转自腾讯太空)

    推荐阅读  点击标题可跳转

    飞机上一般是什么操作系统?

    波音 777 飞机由 Ada 语言驱动

    关注「程序员的那些事」加星标,不错过圈内事

    圈内事,我在看❤️

    展开全文
  • recipe for target xxx failed +【顺带搞懂了】如何忽略makefile执行过程中的某些命令的错误而得以继续运行 【问题】 在Cygwin中,执行makefile,其中调用hhc从hhp文件生成chm文件。 结果最后一步...

    转载自:在路上 » 【已解决】Makefile:xxx: recipe for target xxx failed +【顺带搞懂了】如何忽略makefile执行过程中的某些命令的错误而得以继续运行


    【问题】

    在Cygwin中,执行makefile,其中调用hhc从hhp文件生成chm文件。

    结果最后一步出错:

    ?
    1
    2
    3
    4
    5
    6
    7
    Administrator@K470  /cygdrive/e/Dev_Root/docbook/dev/books/VBR/src
    make chm
    ...
    Created e:\Dev_Root\docbook\dev\books\VBR\output\htmlhelp\MPEG_VBR.chm, 181,978 bytes
    Compression decreased  file by 70,718 bytes.
    Makefile:131: recipe  for target `.. /output/htmlhelp/MPEG_VBR .chm' failed
    make : *** [.. /output/htmlhelp/MPEG_VBR .chm] Error 1

    但是很奇怪的是,对应的所需要的文件MPEG_VBR.chm,都是已经成功生成的了,但是此处还是出错。

    对应的makefile源码为:

    ?
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    $(OUTPUT_FILE_CHM):$(OUTPUT_FILE_HTMLHELP) $(OUTPUT_DIR_CHM) /htmlhelp .hhp $(OUTPUT_DIR_CHM) /toc .hhc
         iconv -f UTF-8 -t GB18030 < $(OUTPUT_DIR_CHM) /htmlhelp .hhp > $(OUTPUT_DIR_CHM) /htmlhelp_gb18030 .hhp
         mv $(OUTPUT_DIR_CHM) /htmlhelp_gb18030 .hhp $(OUTPUT_DIR_CHM) /htmlhelp .hhp
         iconv -f UTF-8 -t GB18030 < $(OUTPUT_DIR_CHM) /toc .hhc > $(OUTPUT_DIR_CHM) /toc_gb18030 .hhc
         mv $(OUTPUT_DIR_CHM) /toc_gb18030 .hhc $(OUTPUT_DIR_CHM) /toc .hhc
         echo "---before hhc"
         hhc $(OUTPUT_DIR_CHM) /htmlhelp .hhp
         echo "+++after hhc"
     
    chm: clean_chm $(OUTPUT_FILE_CHM)

    【解决过程】

    1.以为是上面的iconv中的小于号导致出错的呢,结果去掉小于号后,还是同样错误。

    2.然后添加了上述的echo命令,结果是hhc后面那句:+++after hhc,是没有显示出来,证实了hhc命令本身执行结果就是错误的,所以hhc执行出错后,返回到makefile,然后makefile报上述recipe for target  failed的错误。

    3.但是很奇怪是,上述的hhc那行命令,单独去cygwin的命令中执行,却是没有显示啥错误的。估计是返回值错误,也没有任何人捕获,所以也不知道错误吧。

    4。然后想要去找办法,去从makefile中获得上次命令行执行的结果,结果却始终由于无法执行hhc的后面那句,而无从获得。

    5.然后就想到,本身hhc命令虽然出错,但是目的已经达到,已经可以正常生成chm了,所以,此处想要想办法去在makefile执行过程中,忽略此error即可。

    然后就找到很多的资料,比如这里

    还有一个全局的办法是,给make加上“-i”或是“–ignore-errors”参数,那么,Makefile中所有命令都会忽略错误。而如果一个规则是以“.IGNORE”作为目标的,那么这个规则中的所有命令将会忽略错误。这些是不同级别的防止命令出错的方法,你可以根据你的不同喜欢设置。

    还有一个要提一下的make的参数的是“-k”或是“–keep-going”,这个参数的意思是,如果某规则中的命令出错了,那么就终目该规则的执行,但继续执行其它规则。

    结果都是说如何忽略整个的错误,所以不符合此处的需求。

    后来终于找到了:makefile 的變數,其中谈到了:

    makefile 中兩個特別字元,可以加在要執行的命令之前:

    1. - :make 會忽略命令的錯誤
      1. 如果希望產生一個目錄,但希望忽略錯誤,可能是因為該目錄已經存在。
        -mkdir /usr/local/repository



      2. 如果希望清除目標檔案,但希望忽略錯誤,可能是因為該檔案不存在。
        clean:
           -rm main.o 2.o 3.o



    2. @ :make 不會在標準輸出上,顯示要執行的命令。
      1. 判斷式 if 起始為符號 @,讓 make 在執行該法則時,停止印出標準輸出的文字。
        install: myapp
           @if [ -d $(INSTDIR) ]; \
            then \
              ...;\
           fi

    即,对应的命令前面加上一个减号’-’,就可以忽略该命令的错误了,后续的命令就可以继续执行了。

    所以,最后用:

    ?
    1
    - hhc $(OUTPUT_DIR_CHM) /htmlhelp .hhp

    就可以实现所要的效果了。这样,makefile执行过程就不会被hhc的错误所打断了。

    虽然此处搞定了问题,但是具体错误的根本原因,还是不清楚,所以想尽量搞清楚为啥错了。

    然后,关于返回值的事情,最后用:

    ?
    1
    2
    3
    4
    5
    echo "---before hhc"
    # here use '-' to ignore the hhc error
    - hhc $(OUTPUT_DIR_CHM) /htmlhelp .hhp
    echo $?
    echo "+++after hhc"

    测试到的结果为:

    ?
    1
    2
    3
    4
    5
    6
    Makefile:131: recipe  for target `.. /output/htmlhelp/MPEG_VBR .chm' failed
    make : [.. /output/htmlhelp/MPEG_VBR .chm] Error 1 (ignored)
    echo .. /output/htmlhelp/MPEG_VBR .html .. /output/htmlhelp/htmlhelp .hhp .. /output/htmlhelp/toc .hhc
    .. /output/htmlhelp/MPEG_VBR .html .. /output/htmlhelp/htmlhelp .hhp .. /output/htmlhelp/toc .hhc
    echo "+++after hhc"
    +++after hhc

    看起来好像是hhc返回的值是:

    ../output/htmlhelp/MPEG_VBR.html ../output/htmlhelp/htmlhelp.hhp ../output/htmlhelp/toc.hhc ../output/htmlhelp/MPEG_VBR.html ../output/htmlhelp/htmlhelp.hhp ../output/htmlhelp/toc.hhc

    结果后来经过如下折腾:

    ?
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    Administrator@K470  /cygdrive/e/Dev_Root/docbook/dev/books/VBR/src
    $ iconv1Retcode=`iconv -f UTF-8 -t GB18030 < .. /output/htmlhelp/htmlhelp .hhp > .. /output/htmlhelp/htmlhelp_gb18030 .hhp`
     
    Administrator@K470  /cygdrive/e/Dev_Root/docbook/dev/books/VBR/src
    echo $iconv1Retcode
     
     
    Administrator@K470  /cygdrive/e/Dev_Root/docbook/dev/books/VBR/src
    $ mv1Retcode=` mv .. /output/htmlhelp/htmlhelp_gb18030 .hhp .. /output/htmlhelp/htmlhelp .hhp`
     
    Administrator@K470  /cygdrive/e/Dev_Root/docbook/dev/books/VBR/src
    echo $mv1Retcode
     
     
    Administrator@K470  /cygdrive/e/Dev_Root/docbook/dev/books/VBR/src
    echo $?
    0
     
    Administrator@K470  /cygdrive/e/Dev_Root/docbook/dev/books/VBR/src
    $ iconv -f UTF-8 -t GB18030 < .. /output/htmlhelp/toc .hhc > .. /output/htmlhelp/toc_gb18030 .hhc
     
    Administrator@K470  /cygdrive/e/Dev_Root/docbook/dev/books/VBR/src
    echo $?
    0
     
    Administrator@K470  /cygdrive/e/Dev_Root/docbook/dev/books/VBR/src
    mv .. /output/htmlhelp/toc_gb18030 .hhc .. /output/htmlhelp/toc .hhc
     
    Administrator@K470  /cygdrive/e/Dev_Root/docbook/dev/books/VBR/src
    echo $?
    0
     
    Administrator@K470  /cygdrive/e/Dev_Root/docbook/dev/books/VBR/src
    $ hhc .. /output/htmlhelp/htmlhelp .hhp
    Microsoft HTML Help Compiler 4.74.8702
     
    Compiling e:\Dev_Root\docbook\dev\books\VBR\output\htmlhelp\MPEG_VBR.chm
     
    index.html
    ……
    Created e:\Dev_Root\docbook\dev\books\VBR\output\htmlhelp\MPEG_VBR.chm, 181,978 bytes
    Compression decreased  file by 70,718 bytes.
     
    Administrator@K470  /cygdrive/e/Dev_Root/docbook/dev/books/VBR/src
    echo $?
    1

    证实了,原来是linux下面的那些命令,比如iconv,mv等,执行结果的,如果是没有错误的,会返回0,表示正常的,而此处hhc是windows下面的工具,其返回1表示执行结果正常,导致了makefile收到1,以为是程序执行错了呢,所以报错:

    ?
    1
    Makefile:131: recipe  for target `.. /output/htmlhelp/MPEG_VBR .chm' failed

    并且说是error 1:

    ?
    1
    make : [.. /output/htmlhelp/MPEG_VBR .chm] Error 1 (ignored)

    【总结】

    此处现象是makefile执行过程中出线recipe for target xxx failed的错误,导致执行过程中断。

    直接的原因是由于hhc命令执行结果有误。

    而根本而原因是,hhc的命令,是属于微软的(windows下)的工具,此处经过cygwin调用而已,然后其返回值是1,(应该是)表明结果执行的是正确的,结果却由于linux下的makefile误以为错误了。

    因为Linux下的一般的程序都是返回值为0表示程序执行是正常的。

    所以,还是所用的工具属于不同平台,而导致的不完全兼容。

    此处的解决办法是,在对应hhc命令前面加上一个减号,表示makefile执行该命令时候,即使该命令出错,也可以忽略该命令的错误,可以继续执行余下的其他命令,使得makefile能继续正常执行。

    所以,其他人如果也是遇到类似问题:

    一是要小心,是不是使用了不同平台的工具而导致的不兼容问题

    二是可以通过makefile中给相关命令添加减号以(故意地)忽略某些命令的(可能出现的)错误,而使得makefile即使出现(不严重的)错误,也可以继续运行。



    展开全文
  • http://www.crifan.com/make_makefile_recipe_for_target_failed_omit_error_while_executing_makefile/ 在Cygwin中,执行makefile,其中调用hhc从hhp文件生成chm文件。 ...结果最后一步出错: ...5

    http://www.crifan.com/make_makefile_recipe_for_target_failed_omit_error_while_executing_makefile/

    在Cygwin中,执行makefile,其中调用hhc从hhp文件生成chm文件。

    结果最后一步出错:

    ?
    1
    2
    3
    4
    5
    6
    7
    Administrator@K470 /cygdrive/e/Dev_Root/docbook/dev/books/VBR/src
    make  chm
    ...
    Created e:\Dev_Root\docbook\dev\books\VBR\output\htmlhelp\MPEG_VBR.chm, 181,978 bytes
    Compression decreased  file  by 70,718 bytes.
    Makefile:131: recipe  for  target `.. /output/htmlhelp/MPEG_VBR .chm' failed
    make : *** [.. /output/htmlhelp/MPEG_VBR .chm] Error 1

    但是很奇怪的是,对应的所需要的文件MPEG_VBR.chm,都是已经成功生成的了,但是此处还是出错。

    对应的makefile源码为:

    ?
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    $(OUTPUT_FILE_CHM):$(OUTPUT_FILE_HTMLHELP) $(OUTPUT_DIR_CHM) /htmlhelp .hhp $(OUTPUT_DIR_CHM) /toc .hhc
         iconv -f UTF-8 -t GB18030 < $(OUTPUT_DIR_CHM) /htmlhelp .hhp > $(OUTPUT_DIR_CHM) /htmlhelp_gb18030 .hhp
         mv  $(OUTPUT_DIR_CHM) /htmlhelp_gb18030 .hhp $(OUTPUT_DIR_CHM) /htmlhelp .hhp
         iconv -f UTF-8 -t GB18030 < $(OUTPUT_DIR_CHM) /toc .hhc > $(OUTPUT_DIR_CHM) /toc_gb18030 .hhc
         mv  $(OUTPUT_DIR_CHM) /toc_gb18030 .hhc $(OUTPUT_DIR_CHM) /toc .hhc
         echo  "---before hhc"
         hhc $(OUTPUT_DIR_CHM) /htmlhelp .hhp
         echo  "+++after hhc"
     
    chm: clean_chm $(OUTPUT_FILE_CHM)

    【解决过程】

    1.以为是上面的iconv中的小于号导致出错的呢,结果去掉小于号后,还是同样错误。

    2.然后添加了上述的echo命令,结果是hhc后面那句:+++after hhc,是没有显示出来,证实了hhc命令本身执行结果就是错误的,所以hhc执行出错后,返回到makefile,然后makefile报上述recipe for target  failed的错误。

    3.但是很奇怪是,上述的hhc那行命令,单独去cygwin的命令中执行,却是没有显示啥错误的。估计是返回值错误,也没有任何人捕获,所以也不知道错误吧。

    4。然后想要去找办法,去从makefile中获得上次命令行执行的结果,结果却始终由于无法执行hhc的后面那句,而无从获得。

    5.然后就想到,本身hhc命令虽然出错,但是目的已经达到,已经可以正常生成chm了,所以,此处想要想办法去在makefile执行过程中,忽略此error即可。

    然后就找到很多的资料,比如这里

    还有一个全局的办法是,给make加上“-i”或是“–ignore-errors”参数,那么,Makefile中所有命令都会忽略错误。而如果一个规则是以“.IGNORE”作为目标的,那么这个规则中的所有命令将会忽略错误。这些是不同级别的防止命令出错的方法,你可以根据你的不同喜欢设置。

    还有一个要提一下的make的参数的是“-k”或是“–keep-going”,这个参数的意思是,如果某规则中的命令出错了,那么就终目该规则的执行,但继续执行其它规则。

    结果都是说如何忽略整个的错误,所以不符合此处的需求。

    后来终于找到了:makefile 的變數,其中谈到了:

    makefile 中兩個特別字元,可以加在要執行的命令之前:

    1. - :make 會忽略命令的錯誤
      1. 如果希望產生一個目錄,但希望忽略錯誤,可能是因為該目錄已經存在。
        -mkdir /usr/local/repository



      2. 如果希望清除目標檔案,但希望忽略錯誤,可能是因為該檔案不存在。
        clean:
           -rm main.o 2.o 3.o



    2. @ :make 不會在標準輸出上,顯示要執行的命令。
      1. 判斷式 if 起始為符號 @,讓 make 在執行該法則時,停止印出標準輸出的文字。
        install: myapp
           @if [ -d $(INSTDIR) ]; \
            then \
              ...;\
           fi

    即,对应的命令前面加上一个减号’-’,就可以忽略该命令的错误了,后续的命令就可以继续执行了。

    所以,最后用:

    ?
    1
    - hhc $(OUTPUT_DIR_CHM) /htmlhelp .hhp

    就可以实现所要的效果了。这样,makefile执行过程就不会被hhc的错误所打断了。

    虽然此处搞定了问题,但是具体错误的根本原因,还是不清楚,所以想尽量搞清楚为啥错了。

    然后,关于返回值的事情,最后用:

    ?
    1
    2
    3
    4
    5
    echo  "---before hhc"
    # here use '-' to ignore the hhc error
    - hhc $(OUTPUT_DIR_CHM) /htmlhelp .hhp
    echo  $?
    echo  "+++after hhc"

    测试到的结果为:

    ?
    1
    2
    3
    4
    5
    6
    Makefile:131: recipe  for  target `.. /output/htmlhelp/MPEG_VBR .chm' failed
    make : [.. /output/htmlhelp/MPEG_VBR .chm] Error 1 (ignored)
    echo  .. /output/htmlhelp/MPEG_VBR .html .. /output/htmlhelp/htmlhelp .hhp .. /output/htmlhelp/toc .hhc
    .. /output/htmlhelp/MPEG_VBR .html .. /output/htmlhelp/htmlhelp .hhp .. /output/htmlhelp/toc .hhc
    echo  "+++after hhc"
    +++after hhc

    看起来好像是hhc返回的值是:

    ../output/htmlhelp/MPEG_VBR.html ../output/htmlhelp/htmlhelp.hhp ../output/htmlhelp/toc.hhc ../output/htmlhelp/MPEG_VBR.html ../output/htmlhelp/htmlhelp.hhp ../output/htmlhelp/toc.hhc

    结果后来经过如下折腾:

    ?
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    Administrator@K470 /cygdrive/e/Dev_Root/docbook/dev/books/VBR/src
    $ iconv1Retcode=`iconv -f UTF-8 -t GB18030 < .. /output/htmlhelp/htmlhelp .hhp > .. /output/htmlhelp/htmlhelp_gb18030 .hhp`
     
    Administrator@K470 /cygdrive/e/Dev_Root/docbook/dev/books/VBR/src
    echo  $iconv1Retcode
     
     
    Administrator@K470 /cygdrive/e/Dev_Root/docbook/dev/books/VBR/src
    $ mv1Retcode=` mv  .. /output/htmlhelp/htmlhelp_gb18030 .hhp .. /output/htmlhelp/htmlhelp .hhp`
     
    Administrator@K470 /cygdrive/e/Dev_Root/docbook/dev/books/VBR/src
    echo  $mv1Retcode
     
     
    Administrator@K470 /cygdrive/e/Dev_Root/docbook/dev/books/VBR/src
    echo  $?
    0
     
    Administrator@K470 /cygdrive/e/Dev_Root/docbook/dev/books/VBR/src
    $ iconv -f UTF-8 -t GB18030 < .. /output/htmlhelp/toc .hhc > .. /output/htmlhelp/toc_gb18030 .hhc
     
    Administrator@K470 /cygdrive/e/Dev_Root/docbook/dev/books/VBR/src
    echo  $?
    0
     
    Administrator@K470 /cygdrive/e/Dev_Root/docbook/dev/books/VBR/src
    mv  .. /output/htmlhelp/toc_gb18030 .hhc .. /output/htmlhelp/toc .hhc
     
    Administrator@K470 /cygdrive/e/Dev_Root/docbook/dev/books/VBR/src
    echo  $?
    0
     
    Administrator@K470 /cygdrive/e/Dev_Root/docbook/dev/books/VBR/src
    $ hhc .. /output/htmlhelp/htmlhelp .hhp
    Microsoft HTML Help Compiler 4.74.8702
     
    Compiling e:\Dev_Root\docbook\dev\books\VBR\output\htmlhelp\MPEG_VBR.chm
     
    index.html
    ……
    Created e:\Dev_Root\docbook\dev\books\VBR\output\htmlhelp\MPEG_VBR.chm, 181,978 bytes
    Compression decreased  file  by 70,718 bytes.
     
    Administrator@K470 /cygdrive/e/Dev_Root/docbook/dev/books/VBR/src
    echo  $?
    1

    证实了,原来是linux下面的那些命令,比如iconv,mv等,执行结果的,如果是没有错误的,会返回0,表示正常的,而此处hhc是windows下面的工具,其返回1表示执行结果正常,导致了makefile收到1,以为是程序执行错了呢,所以报错:

    ?
    1
    Makefile:131: recipe  for  target `.. /output/htmlhelp/MPEG_VBR .chm' failed

    并且说是error 1:

    ?
    1
    make : [.. /output/htmlhelp/MPEG_VBR .chm] Error 1 (ignored)

    【总结】

    此处现象是makefile执行过程中出线recipe for target xxx failed的错误,导致执行过程中断。

    直接的原因是由于hhc命令执行结果有误。

    而根本而原因是,hhc的命令,是属于微软的(windows下)的工具,此处经过cygwin调用而已,然后其返回值是1,(应该是)表明结果执行的是正确的,结果却由于linux下的makefile误以为错误了。

    因为Linux下的一般的程序都是返回值为0表示程序执行是正常的。

    所以,还是所用的工具属于不同平台,而导致的不完全兼容。

    此处的解决办法是,在对应hhc命令前面加上一个减号,表示makefile执行该命令时候,即使该命令出错,也可以忽略该命令的错误,可以继续执行余下的其他命令,使得makefile能继续正常执行。

    所以,其他人如果也是遇到类似问题:

    一是要小心,是不是使用了不同平台的工具而导致的不兼容问题

    二是可以通过makefile中给相关命令添加减号以(故意地)忽略某些命令的(可能出现的)错误,而使得makefile即使出现(不严重的)错误,也可以继续运行。

    展开全文
  • 我们的时间都去哪了?

    千次阅读 2016-10-29 14:16:53
    当基本的物质生活得以保障之后,一味追求更多的财富并不能使得人们等比例地获得幸福感。此时,自我实现就会显得尤其重要。即使物质生活上存在差异,但是能够使得自己的个人理想和抱负得以实现的人会得到更强烈的满足...
  • 创业杂记——重视自己【序】

    千次阅读 热门讨论 2014-08-18 01:31:26
    创业四年,终于得以时间写创业相关的文字。这是用千万元的学费换来的经验,真心希望对初期创业者有帮助。
  • trustzone与OP-TEE介绍导读

    万次阅读 多人点赞 2017-06-25 14:23:55
    历经一年多时间的系统整理合补充,《手机安全和可信应用开发指南:TrustZone与OP-TEE技术详解 》一书得以出版,书中详细介绍了TEE以及系统安全中的所有内容,全书按照从硬件到软件,从用户空间到内核空间的顺序对TEE...
  • 关于hashcash

    千次阅读 2017-01-07 09:20:30
    来源这个概念最早来自Adam Back的一篇论文Hashcash -...比特币比特币的上的应用是为了防止双重支付(double-spending),这个是比特币得以运行的根本,可以防止伪造交易。这部分的细节会单独写一篇文章技术原理原理概述
  • 新媒体是新的技术支撑体系下出现的媒体形态,如数字杂志、数字报纸、数字广播、...“融媒体”不是一个独立的实体媒体,而是一个把广播、电视、互联网的优势互为整合,互为利用,使其功能、手段、价值得以全面提升...
  • Qt模块&头文件出现下划线问题

    千次阅读 2017-11-01 16:30:10
    头文件出现下划线问题,...注:不同版本的Qt所对应的各种库会有所不同,每个工程所使用 的库也有所不同,工程需要使用什么库就添加什么库,当然要保证所用版本的Qt要有对应的库。工程添加库的方式就是在pro文件中在 Q
  • 包含多个段的程序

    2016-07-15 22:23:07
    1. 在操作系统的环境中,合法地通过操作系统取得的空间都是安全的,因为操作系统不会让一个程序所用的空间和其他程序以及系统自己的空间相冲突。在操作系统允许的情况下,程序可以取得任意容量的空间。 2. 程序...
  • Java小白手记:WEB项目等

    千次阅读 2015-06-03 23:39:06
    机缘巧合之下,工作中得以用一下java。我向来对java很感兴趣,想从.NET转到java久矣,机会难得,久旱逢甘霖。这次主要是跟web项目有关。在此之前,我了解到JAVA分为三大块:j2se、j2ee、j2me。粗略地讲,j2se做win ...
  • OpenGL基础图形编程

    千次阅读 2014-07-25 19:10:11
    一、OpenGL与3D图形世界 1.1、OpenGL使人们进入三维图形世界  我们生活在一个充满三维物体的三维世界中,为了使计算机能精确地再现这些... 最近几年计算机图形学的发展使得三维表现技术得以形成,这些三维表现技
  • 在编程练习中学会设计和使用测试程序

    千次阅读 热门讨论 2013-03-10 10:26:19
    这是我和我的学生们C++...本文给出一个示例,展示在程序设计过程中,怎样做到一边写程序,一边开展测试的过程,这样得到的程序中的各个“部件”可靠性得以保证。 课程首页地址:http://blog.csdn.net/sxhelijian/artic
  • 过去几个月,我在用Go语言编写系统,所以一直密切关注能够证实我的选择是正确的”的那些消息。当Iron.io记录下使用Go重写IronWorker的经验时,机会...所用内存也下降了很多。Rails应用在启动时需要接近50MB内存,而Go版
  • 数字媒体技术揭秘

    千次阅读 2012-10-18 14:25:30
    一、史话 如果算上模拟时代的话,多媒体传输并非多么新鲜的事情。...从某种意义上讲,数字技术的突飞猛进对多媒体通信的推动并非它能够在多大程度上提高媒体内容的质量——这方面某些斯基们所起的所用可能会更大
  • AMD公司的灵魂Athlon产品回忆录

    千次阅读 2012-08-30 14:58:23
    在CPU领域里的竞争,AMD与Intel从来就没有停止过,AMD也并没有如几年前人们所料想的那样被Intel压着打,反而步步紧逼Intel做出了种种不得以的决策。从AMD第一块CPU芯片开始,就已经发动了对Intel的猛烈进攻。  ...
  • 分辨率与行场同步信号的关系

    千次阅读 2013-01-29 11:01:10
    由电子枪打出的电子经由偏转线圈的偏转得以打到屏幕的不同点上。电子束在从左到右扫描完一行后,需要回到起始方向进行下一行的扫描,这个返回的工作由回程转换器来完成。     这一系列动作要想很精确,就得使...
  • (video)通用问题适配器(Adapters) 之前的各个Ext版本中都可以透过使用适配器(adpaters)的方式转换第三方的JavaScript库为我所用。Ext4的话就没这支歌仔唱了。改朝换代后,Ext JS应用程序的底层库唯一限定...
  • 计算机网络基础知识总结

    万次阅读 多人点赞 2020-10-20 07:40:54
    与此同时,诸如电子邮件(E-mail)、万维网(WWW,World Wide Web) 等信息传播方式如雨后春笋般迎来了前所未有的发展,使得互联网从大到整个公司小到每个家庭内部,都得以广泛普及。 计算机网络的高速发展 现如今,...
  • 数据挖掘与数据分析

    万次阅读 多人点赞 2018-05-28 13:58:14
    机器学习和数据挖掘是紧密相关的,要进行数据挖掘需要掌握一些机器学习所用的方法和模型知识,通过模型的训练可以得到处理数据的最优的模型。数据挖掘常用的模型如下:   3.1 监督学习模型   就是人们常...
  • VC数字图像处理编程讲座之二

    千次阅读 2005-11-24 15:28:00
    言 数字图像处理技术与理论是计算机应用的一个重要领域,许多工程应用都涉及到图像处理,一直有一个强烈的愿望,想系统的写一个关于数字图像处理的讲座,由于工作学习很忙,时至今日才得以实现。 "图"是物体透射光或...
  • Java 五种线程池详解、更加优雅的管理线程

    万次阅读 多人点赞 2019-06-11 00:15:01
    线程池意味着可以储存线程,并让池内的线程得以复用,如果池内的某一个线程执行完了,并不会直接摧毁,它有生命,可以存活一些时间,待到下一个任务来时,它会复用这个在等待中线程,避免了再去创建线程的额外开销。...
  • 手把手教你用Java设计并实现一个城市公交查询系统

    千次阅读 多人点赞 2020-12-19 10:11:33
    近年来,Internet推动了以互联网技术为核心的各项工作蓬勃展开,互联网的强大也大大的促进了社会的发展,整个社会信息化进程逐步加快,网络也变成了我们日常活动中越来越重要的组成成分。为了使得我国公交乘客出行及...
  • 详解vue组件三大核心概念

    万次阅读 多人点赞 2019-05-30 13:12:04
    两者选项里都可以存放各种类型的数据,当行为操作改变时,所有行为操作所用到和模板所渲染的数据同时都会发生同步变化。 不同点 data 被称之为动态数据,在各自实例中,在任何情况下,我们都可以随意改变它...
  • 人通过获得、识别不同信息来区别不同事物,得以认识和改造世界。以下关于信息的叙述中,不正确的是:(1)。 信息化是人类社会发展的一个高级进程,它的核心是通过全体社会成员的共同努力,在经济和社会各个领域...
  • 无人驾驶 | 自动驾驶技术和机器人技术的对比

    千次阅读 多人点赞 2021-01-09 13:06:36
    注:目前自动驾驶技术百度公开的最为彻底,它所用的思想代表了目前做自动驾驶的主流路线。 技术框架对比 ▍机器人运动控制的技术栈 机器人运动控制分为四层技术栈: 1. 基础运动平台 一个机器人必须有可以运动的...
  • 从本专栏开始,作者正式研究Python深度学习、神经网络及人工智能相关知识。前一篇文章详细讲解了无监督学习Autoencoder的原理知识,然后用MNIST手写数字案例进行对比实验及聚类分析。本篇文章将分享《人工智能狂潮》...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 15,466
精华内容 6,186
关键字:

得以所用