小编gil*_*min的帖子

静态分析器与命令行工具有关

我们使用TeamCity/Command Line Tools自动化了当前项目的构建.为了确保尽可能多地捕获潜在问题,我们已将项目设置为针对每个构建使用静态分析器.分析器标记了几个第三方类,因此我们通过标记它们来排除可疑类:

-w -Xanalyzer -analyzer-disable-checker
Run Code Online (Sandbox Code Playgroud)

在Xcode中编译时,一切都按预期工作(使用4.6.3和5.0.1测试).

但是当在TeamCity服务器上编译时,我们会为每个排除的第三方文件收到以下错误:

__PIC__ level differs in PCH file vs. current fileerror: __PIC__ level differs in PCH file vs. current file2 errors generated.
Run Code Online (Sandbox Code Playgroud)

如果我们删除-Xanalyzer -analyzer-disable-checker标签,那么错误就会消失(当然在这种情况下我们会得到分析器警告).

如果我们使用AppCode进行编译会发生同样的错误,这让我觉得这与命令行工具有关,AppCode和TeamCity服务器都使用它们来编译构建.

TeamCity服务器使用Xcode 4的命令行工具,我尝试使用Xcode 4和5的AppCode.

使用Xcode 5的命令行工具尝试AppCode时,错误略有不同(再次,每个排除的类一个):

error reading 'pic'
no analyzer checkers are associated with '-mrelocation-model'
Run Code Online (Sandbox Code Playgroud)

所以,问题是:有没有人知道如何在使用命令行工具时抑制特定类的分析器警告时如何消除此错误(如果命令行工具确实在这里有问题)?

macos teamcity xcode clang

10
推荐指数
1
解决办法
3537
查看次数

标签 统计

clang ×1

macos ×1

teamcity ×1

xcode ×1