我有以下运行脚本,可在http://oclint-docs.readthedocs.io/en/stable/guide/xcode.html上使用
source ~/.bash_profile
cd ${SRCROOT}
xcodebuild clean
xcodebuild | xcpretty -r json-compilation-database --output compile_commands.json
oclint-json-compilation-database -- -report-type xcode但是,当我执行它时,我会收到以下错误。(1 failure) oclint:没有指定足够的位置命令行参数!
oclint版本是OCLint版本0.13和Xcode 9.3.1
发布于 2022-07-26 09:30:04
我找到了一种从Xcode项目生成JSON编译数据库的方法,而无需依赖外部工具。用Xcode 13.4.1在macOS 12蒙特雷和Apple Silicon M1 Pro上进行测试。
在Xcode构建设置中,或者在调用xcodebuild时,可以设置以下编译器标志:
OTHER_CFLAGS = $(inherited) -gen-cdb-fragment-path $(PROJECT_DIR)/CompilationDatabase
这指示clang为每次编译发出编译数据库的片段。通过使用以下命令,可以轻松地将这些片段组合到最终编译数据库中:
sed -e '1s/^/[\'$'\n''/' -e '$s/,$/\'$'\n'']/' *.json > compile_commands.json
当然,验证片段是个好主意,但是如果没有外部工具,就无法做到这一点。
有关编译器标志、片段验证和引用的详细信息,请参阅gist:
https://stackoverflow.com/questions/51116316
复制相似问题