【发布时间】:2016-06-15 15:00:55
【问题描述】:
我正在尝试构建一个 C++ 应用程序,该应用程序使用 system() 函数在 Windows 命令提示符上进行一系列命令行调用。 C++ 在下面的目录 BSP 中运行。 BSP 包含一个子文件夹 BSP/XST/Files。应用程序发出的命令之一,需要调用需要在 Files 目录中运行的命令行工具(Xilinx 综合工具)。
BSP
|---XST
|---|---Files
在命令提示符下手动执行此操作,我会执行以下操作:
>>cd XST
>>cd Files
>>xst -h
有没有办法从BSP目录调用子目录中的工具? 我看了这个问题here,但它不起作用。我猜是因为他们在谈论存储在子目录中的可执行文件,而我正在调用命令行工具(即使用环境变量)。
为了简化:在 Windows 命令提示符的子文件夹中是否有一个命令/选项可以运行命令行工具?我可以通过我的 C++ 来模拟该语句。
【问题讨论】:
-
您指定工具的完整路径。还是您在谈论设置应用程序的工作目录?你可以调用
SetCurrentDirectory函数。 -
由于它没有回答您的问题,因此我将其作为评论留下。如果您只在 Windows 上工作,我建议您使用 CreateProcess,因为这可以让您在生成进程时指定所有各种参数,包括其工作目录等。
-
@MikeVine 看起来真的很有趣。谢谢,我会调查的。