我正在寻找有关如何执行跨平台流程的建议。
我已经编写了我的应用程序的 Java 和 Ruby 实现,但它不是特定于语言的问题,而是特定于平台的问题。
搜索 Ubuntu /usr/bin/ 上的 EG 以查找我所做的任何事情
# Ruby
`HandBrakeCLI #{args}` # works on Ubuntu and likely other linux distros since HandBrakeCLI is in /usr/bin/
对于 windows,它将搜索我正在运行的当前目录。但是,如果将 windows 可执行文件复制到当前目录,则运行时链接错误将导致它崩溃(DLL 不存在)
HandBrakeCLI 的默认安装路径在“Program Files(x86)/HandBrake”中(x86 显然只有 64 位),但据我所知,Program Files 不在搜索路径中。
对于 MacOSX,除了使用“打开”命令之外,我不知道如何从命令行执行 Mac“应用程序文件夹”。但这不是一个问题,因为我真正追求的是 HandBrakeCLI,它只是一个普通的可执行文件。但是 HandBrakeCLI 未安装到 /usr/bin 或 /usr/local/bin (或其中的任何变体)
我最好的想法是制作一个包含 HandBrakeCLI 路径的配置文件。但是,如果我走那条路,那么能够检测到我在哪个平台上将是理想的,但这是另一个问题。一个我只用 C #ifdef 部分完成,而不是在 Ruby 或 Java 中完成。
我将不胜感激任何和所有输入。