【发布时间】:2020-10-25 18:22:23
【问题描述】:
我正在尝试编译的项目有这个命令:
cc -xc++ -o/dev/null -lc++ -shared
但是我使用的是 PowerShell,它没有 /dev/null 的概念:
PS C:\> cc -xc++ -o/dev/null -lc++ -shared
C:/msys2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../
x86_64-w64-mingw32/bin/ld.exe: cannot open output file /dev/null.exe: No such
file or directory
我尝试使用-o$null,但它只是创建了一个文件$null.exe。我也试过
这个:
PS C:\> cc -xc++ -o $null -lc++ -shared
cc.exe: fatal error: no input files
PowerShell 是否能够处理这种用例?或者,似乎目的
测试的目的是检查libc++ 是否存在。是否有另一种方法可以做
那个?
【问题讨论】:
-
您可以
test-path为目录返回布尔值,我相信 PowerShell 中/dev/null的等价物将在产生输出的命令末尾添加>> $null。这就是你要找的吗? -
参数
-o/dev/null将由 cmd、PowerShell 和任何与 POSIX 兼容的 shell 逐字传递,所以这个问题的前提是有缺陷的:这不能是 PowerShell 特定的。/dev/null(case-sensitively) 在类 Unix 平台上是空设备,而在 Windows 上是NUL(case-insensitively)。
标签: powershell gcc msys2 dev-null