Powershell没有正确地将参数传递给cmake

时间:2015-11-30 08:41:20

标签: powershell

我试图在Windows 10中使用Powershell作为我的主要shell。大部分时间它运行良好,但是有些事情会让我回到旧命令提示符,我希望他们不会这样做。吨。

我尝试使用cmake创建Visual Studio解决方案。这是在命令提示符下正常工作的命令行(为清晰起见分为行)

cmake .. -G "Visual Studio 14 2015" -A x64 
         -DBOOST_ROOT=d:\boost\1_59_0 
         -DBOOST_LIBRARYDIR=d:\boost\1_59_0\lib64

当我从Powershell运行相同的命令时,cmake抱怨我没有指定BOOST_ROOT。

我尝试使用& cmake ...,我尝试在所有-D&#39周围加上引号(如here所述) - 没有任何作用。我不能让Powershell按命令行传递给cmake。

有没有办法告诉Powershell在' cmake'之后传递文字?直接到cmake没有任何进一步处理?请注意,我不能在所有参数周围加上引号,因为它们中已经有引号(-G ...)。如果我在所有内容中加上单引号 - 它仍然无法正常工作。

1 个答案:

答案 0 :(得分:2)

要在PowerShell中启动外部程序,最好使用Start-Process及其-ArgumentList参数:

Start-Process cmake -ArgumentList "-G ""Visual Studio 14 2015"" -A x64 -DBOOST_ROOT=d:\boost\1_59_0 -DBOOST_LIBRARYDIR=d:\boost\1_59_0\lib64" -NoNewWindow

可以在Microsoft help上或在PowerShell中使用以下命令找到有关此Cmdlet的更多信息:

Get-Help Start-Process -ShowWindow