- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我正在使用 MinGW 系统编译 Xindy。 dmake
总是因错误而终止,我已将其缩小到 Makefile 中的几行。尝试对此运行 dmake:
SHELL = /bin/sh
some-target:
target=`echo info-recursive | sed s/-recursive//`;
如果您使用的是常规 Windows CMD 而不是 MinGW shell,则必须更改 SHELL 变量的位置以指向类似“C:/MinGW/msys/1.0/sh.exe”的位置。无论如何,以上失败:
CreateProcess failed (2).
dmake: Error executing 'bin/sh /S /c "target=`echo info-recursive | sed s/-recursive//`;"': No such file or directory
dmake: Error code -1, while making 'some-target'
已安装 Sed 和 sh,它们工作正常。当我尝试运行给定的命令作为错误消息本身的输出时,我得到了这个:
$ /bin/sh /S /c "target=`echo info-recursive | sed s/-recursive//`;"
/bin/sh: /S: No such file or directory
所以看起来 dmake(或其他东西)正在将 '/S/c' 添加到 shell 参数,bash 认为它是一个文件名,然后在找不到它时失败。
有没有人有这方面的经验或知道我该如何解决这个问题?
最佳答案
对 dmake 源代码的简要检查表明问题在于 $(SHELL)
设置得太晚并且在启动时仍然为空(macros.mk , 第 37 行):
11 .IF $(SHELL) == $(NULL)
...
15 SHELL *:= $(COMSPEC)
...
...
35 .IF $(SHELL) == $(COMSPEC)
36 .IF $(COMSPEC:lf) == cmd.exe
37 SHELLFLAGS *:= $(SWITCHAR)S $(SWITCHAR)c
您可以通过将 SHELL="C:/MinGW/msys/1.0/sh.exe"
添加到您的 dmake 命令行调用来解决此问题。
(我已经很多年没有使用 dmake 了,所以这里可能会弄错,但如果你能得到一个看起来像自动没收的 makefile 来与 dmake 一起工作,我会印象深刻,dmake 的 IIRC 有一些不同的味道。它可能更容易找到 GNU make 或类似的。)
关于windows - dmake 中的 shell 命令添加 '/S',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12270987/
经过一番努力,我终于安装了 perl/Tk 模块。我意识到我不明白 dmake 或 make 等实际上在做什么。 我正在使用安装在 C:\strawberry 的 strawberry perl。 首
有人可以告诉我如何用 Perl 下载 dmake 吗? 我已经尝试过 CPAN,但这是我得到的: cpan> install dmake Database was generated on Wed,
我在使用草莓 perl 5.16.2.2 64 位及更高版本安装 CPAN 模块时遇到问题。从 CPAN 安装时,dmake 无法构建模块并出现以下错误: dmake.exe: Error exec
这个问题在这里已经有了答案: dmake not found when installing Perl module using CPAN (1 个回答) 关闭 2 年前。 尝试使用 Active
我在 Windows 7 64 位上安装了 ActiveState Perl 5.20 32 位。我想从 CPAN 安装 mudules 但总是这样结束: Checksum for C:\Perl\c
我在尝试安装 Math::TrulyRandom 时听取了这个人的建议(随机数生成器与伪随机),我正在运行“dmake”,他告诉我询问另一个问题的错误。 我的第一个问题是 here . 以下是终端出现
我有这个makefile: ALL = ../lib/Mo.pm \ ../lib/Mo/builder.pm \ ../lib/Mo/default.pm \ .
我从 ActiveState 安装了 Perl。没有扩展的普通版本。 window 10。 “这是为 MSWin32-x64-multi-thread 构建的 perl 5,版本 28,subvers
我正在使用 MinGW 系统编译 Xindy。 dmake 总是因错误而终止,我已将其缩小到 Makefile 中的几行。尝试对此运行 dmake: SHELL = /bin/sh some-targ
我正在尝试为 Windows 创建 perl 脚本的二进制文件,但我买不起 perl2exe 和 Active Perl Dev Kit 等商业应用程序(我知道有试用版)。 因此,我在 Windows
我是一名优秀的程序员,十分优秀!