斯康斯+ windows:无法在 Command() 构建器中执行 shell 脚本

发布于 2024-09-04 17:52:14 字数 602 浏览 5 评论 0原文

我有一个这样的命令生成器:

jsontar = Command("bundle.tar", bundleDir, "mkvgconf $SOURCE $TARGET")

mkvgconf 是一个 shell 脚本 $SOURCE 是目录的路径 $TARGET 是文件的路径

当尝试在 Windows 下执行时,SCons 无法将 vgmkconf 识别为可执行文件。

谷歌出现: http://www.scons.org/wiki/UsingPkgConfigMsysShellScripts

使用此脚本,我能够制作 SCons 识别并尝试执行的 mkvgconf.cmd。不幸的是,SCons 将 $SOURCE 和 $TARGET 作为 UNIX 路径字符串而不是 Windows 字符串传递。路径字符串被误解并且构建失败。

问题 1:如何让 SCons 识别我的 shell 脚本而不需要拼凑?

问题 2:如果问题 1 没有解决方案,如何使我的路径名格式正确以适合构建平台?

I have a command builder as such:

jsontar = Command("bundle.tar", bundleDir, "mkvgconf $SOURCE $TARGET")

mkvgconf is a shell script
$SOURCE is a path to a directory
$TARGET is a path to a file

When attempting to execute under windows, SCons does not recognize vgmkconf as an executable.

Google turns up:
http://www.scons.org/wiki/UsingPkgConfigMsysShellScripts

Using this script, I am able to make a mkvgconf.cmd that SCons DOES recognize and attempts to execute. Unfortunately, SCons passes $SOURCE and $TARGET as UNIX path strings, not windows strings. The path strings are misinterpreted and the build fails.

Question 1: How do I make SCons recognize my shell script without the kludge?

Questions 2: If Question 1 has no solution, how do I make my pathnames are formatted correctly for the build platform?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

迷路的信 2024-09-11 17:52:14

您可以使用 cygwin 来执行 bash 脚本,方法是替换 mkvgconf $SOURCE $TARGET 与:

C:\cygwin\bin\bash.exe -c "mkvgconf $SOURCE $TARGET"

You can use cygwin to execute the bash script, by replacing mkvgconf $SOURCE $TARGET with:

C:\cygwin\bin\bash.exe -c "mkvgconf $SOURCE $TARGET"
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文