如何使 xcodebuild 打印编译错误和警告到 stderr?
How to make xcodebuild print compile errors and warnings to stderr?
似乎 xcodebuild 将所有内容打印到标准输出。
$ /Applications/Xcode.app/Contents/Developer/usr/bin/xcodebuild -project test.xcodeproj build -target test -configuration Debug -jobs 3 2>err
# xcodebuild stdout with bunch of warnings and errors
$ cat err
** BUILD FAILED **
The following build commands failed:
CompileC _build/test.build/Objects-normal/x86_64/test.o /Users/me/test/test.cpp normal x86_64 objective-c++ com.apple.compilers.llvm.clang.1_0.compiler
(1 failure)
我的 IDE(QtCreator) 无法正确解析输出。
实际上,clang 会将错误和警告打印到 stderr。但是 xcodebuild 出于某种原因将所有内容重定向到 strdout。有没有办法让 xcodebuild 向 stderr 打印错误和警告,除了 1>&2
?
您可以尝试 运行 带有 -quiet 选项的命令,如下所示。
# Do not print any output except for warnings and errors
/Applications/Xcode.app/Contents/Developer/usr/bin/xcodebuild -project -quiet
因此,您可以使用 -quiet 选项来管理警告和错误,并仅过滤错误,您可以使用 2> ./errors.log
/Applications/Xcode.app/Contents/Developer/usr/bin/xcodebuild -project -quiet test.xcodeproj build -target test -configuration Debug -jobs 3 2> ./errors.log
还有其他工具可以检查,例如 xcpretty 和 xcbeautify。
似乎 xcodebuild 将所有内容打印到标准输出。
$ /Applications/Xcode.app/Contents/Developer/usr/bin/xcodebuild -project test.xcodeproj build -target test -configuration Debug -jobs 3 2>err
# xcodebuild stdout with bunch of warnings and errors
$ cat err
** BUILD FAILED **
The following build commands failed:
CompileC _build/test.build/Objects-normal/x86_64/test.o /Users/me/test/test.cpp normal x86_64 objective-c++ com.apple.compilers.llvm.clang.1_0.compiler
(1 failure)
我的 IDE(QtCreator) 无法正确解析输出。
实际上,clang 会将错误和警告打印到 stderr。但是 xcodebuild 出于某种原因将所有内容重定向到 strdout。有没有办法让 xcodebuild 向 stderr 打印错误和警告,除了 1>&2
?
您可以尝试 运行 带有 -quiet 选项的命令,如下所示。
# Do not print any output except for warnings and errors
/Applications/Xcode.app/Contents/Developer/usr/bin/xcodebuild -project -quiet
因此,您可以使用 -quiet 选项来管理警告和错误,并仅过滤错误,您可以使用 2> ./errors.log
/Applications/Xcode.app/Contents/Developer/usr/bin/xcodebuild -project -quiet test.xcodeproj build -target test -configuration Debug -jobs 3 2> ./errors.log
还有其他工具可以检查,例如 xcpretty 和 xcbeautify。