问题描述
是否可以使用 Install[]
来启动带有自定义 PATH
环境变量的 MathLink 程序?
Is it possible to use Install[]
to start a MathLink program with a custom PATH
environment variable?
我正在尝试使用 mEngine 进行连接Mathematica 到 Windows 上的 MATLAB.它仅在 PATH
环境变量包含 MATLAB 库的路径时启动 mEngine.exe
才有效.是否可以修改 PATH 来启动这个程序只,而不需要修改系统路径?或者还有其他方法可以启动 mEngine.exe
?
I am trying to use mEngine to connect Mathematica to MATLAB on Windows. It only works if mEngine.exe
is launched when the PATH
environment variable includes the path to the MATLAB libraries. Is it possible to modify the PATH for launching this program only, without needing to modify the system path? Or is there another way to launch mEngine.exe
?
推荐答案
@acl 的解决方案将 mEngine.exe 包装在一个批处理文件中,并从那里临时修改 PATH,工作正常:
@acl's solution to wrap mEngine.exe in a batch file, and temporarily modify the PATH from there, works correctly:
我用这个作为mEngine.bat
的内容:
set PATH=c:path omatlabinwin32;%PATH%
start mEngine.exe %*
*%
确保所有命令行参数都传递给mEngine.exe
start
是防止命令窗口在mEngine.exe
终止之前保持打开状态所必需的*%
ensures that all command line arguments are passed on tomEngine.exe
start
is necessary to prevent the command window from staying open untilmEngine.exe
terminates
可以使用Install["mEngine.bat"]
来启动.
由于内核与 mEngine.exe
通信所需的所有信息都由 Install[]
作为命令行参数传递,所以我们需要做的就是使用这些参数启动 mEngine.exe
.Install[]
没有必要知道 mEngine.exe
的位置,重要的是使用正确的命令行参数启动进程,这是确保通过 %*
.
Since all the information that is needed for the kernel to communicate with mEngine.exe
is passed by Install[]
as command line arguments, all we need to do is launch mEngine.exe
with these arguments. It is not necessary for Install[]
to know the location of mEngine.exe
, the important thing is that the process gets launched with the correct command line arguments, which is ensured by %*
.
这篇关于使用任意 PATH 环境安装 MathLink 程序的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!