【问题标题】:Convert hex to decimal in make script?在make脚本中将十六进制转换为十进制?
【发布时间】:2009-09-15 17:46:40
【问题描述】:

ma​​ke 脚本正在尝试按如下方式设置变量:

VER_DEC=$( perl -e "print hex(\"$(VER_HEX)\");" )

其中VER_HEX 的值恰好是0a

Perl 似乎认为 VER_HEX 为零,暗示该变量未设置(但它,根据 makefile 中的调试回显)。

make 是否有更简单的转换碱基的方法?

如果需要,需要什么版本的make?

更新:这是一个 GNU Makefile。 perl 的调用在$( ) 中缺少单词shell,并且双引号可能存在​​转义问题。

【问题讨论】:

    标签: makefile hex base-conversion


    【解决方案1】:
    VER_DEC=$(shell printf "%d" 0x$(VER_HEX))
    

    如果你说的是Makefile。因为在我看来你的不像Makefile,更像是shell。 (我认为$(shell ) 是 GNU 扩展,但大多数时候你可以安全地用反引号替换它)。

    【讨论】:

      猜你喜欢
      • 2016-05-21
      • 2010-09-27
      • 1970-01-01
      • 2011-07-28
      • 1970-01-01
      • 2013-09-23
      • 1970-01-01
      相关资源
      最近更新 更多