图书馆便携式支票

Portable check for library

我正在尝试编译的一个项目有这个命令:

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++ 是否存在。还有其他方法吗?

看来这个问题是 GCC 特有的。如果我get Clang,同样的命令 作品 with nul:

cc -xc++ -onul -lc++ -shared

但是如果我用 GCC 尝试同样的事情,我会得到这个:

C:/msys2/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/10.2.0/../../../../
x86_64-w64-mingw32/bin/ld.exe: nul.exe: final close failed: file truncated

我已经发布了 bug 97574