2011-10-19 38 views
2

我安装的Xcode 4.2最终版本能够编译为iOS 5锵扫描版本将不会在Xcode 4.2工作LLVM 3.0构建配置

我们正在使用詹金斯CI和运行锵扫描 - 从llvm.org项目页面构建。 (版本258)该项目配置为使用LLVM 3.0(这是自Xcode 4.2以来的默认值)。现在,每当我尝试运行扫描生成时我得到以下错误:

CompileC build/Cortado.build/Debug-iphonesimulator/Cortado.build/Objects-normal/i386/TPContentDetailViewController_iPad.o Classes/iPad/TPContentDetailViewController_iPad.m normal i386 objective-c com.apple.compilers.llvm.clang.1_0.compiler 
    cd "/Volumes/Sources/Starteam - Main View/Workplace/Cortado" 
    setenv LANG en_US.US-ASCII 
    setenv PATH "/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Developer/usr/bin:/Applications/android-sdk-mac_x86/android-ndk-r6b:/Applications/android-sdk-mac_x86/platform-tools:/Applications/android-sdk-mac_x86/tools:/Volumes/Sources/Starteam - Main View/Tools:/Volumes/Sources/Tools:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin" 
    /Users/thwee/Downloads/checker-258/libexec/ccc-analyzer -x objective-c -arch i386 -fmessage-length=0 -fdiagnostics-print-source-range-info -fdiagnostics-show-category=id -fdiagnostics-parseable-fixits -Wno-trigraphs -fpascal-strings -O0 -Wreturn-type -Wparentheses -Wswitch -Wno-unused-parameter -Wunused-variable -Wunused-value -Wno-shorten-64-to-32 -DDEBUG -isysroot /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator5.0.sdk -fexceptions -fasm-blocks -fprofile-arcs -ftest-coverage -mmacosx-version-min=10.6 -gdwarf-2 -Wno-sign-conversion -fobjc-abi-version=2 -fobjc-legacy-dispatch "-DIBOutlet=__attribute__((iboutlet))" "-DIBOutletCollection(ClassName)=__attribute__((iboutletcollection(ClassName)))" "-DIBAction=void)__attribute__((ibaction)" -D__IPHONE_OS_VERSION_MIN_REQUIRED=40100 -iquote "/Volumes/Sources/Starteam - Main View/Workplace/Cortado/build/Cortado.build/Debug-iphonesimulator/Cortado.build/Cortado-generated-files.hmap" "-I/Volumes/Sources/Starteam - Main View/Workplace/Cortado/build/Cortado.build/Debug-iphonesimulator/Cortado.build/Cortado-own-target-headers.hmap" "-I/Volumes/Sources/Starteam - Main View/Workplace/Cortado/build/Cortado.build/Debug-iphonesimulator/Cortado.build/Cortado-all-target-headers.hmap" -iquote "/Volumes/Sources/Starteam - Main View/Workplace/Cortado/build/Cortado.build/Debug-iphonesimulator/Cortado.build/Cortado-project-headers.hmap" "-I/Volumes/Sources/Starteam - Main View/Workplace/Cortado/build/Debug-iphonesimulator/include" "-I/Volumes/Sources/Starteam - Main View/Workplace/Cortado/build/Cortado.build/Debug-iphonesimulator/Cortado.build/DerivedSources/i386" "-I/Volumes/Sources/Starteam - Main View/Workplace/Cortado/build/Cortado.build/Debug-iphonesimulator/Cortado.build/DerivedSources" "-F/Volumes/Sources/Starteam - Main View/Workplace/Cortado/build/Debug-iphonesimulator" -include "/Volumes/Sources/Starteam - Main View/Workplace/Cortado/Cortado_Prefix.pch" -MMD -MT dependencies -MF "/Volumes/Sources/Starteam - Main View/Workplace/Cortado/build/Cortado.build/Debug-iphonesimulator/Cortado.build/Objects-normal/i386/TPContentDetailViewController_iPad.d" -c "/Volumes/Sources/Starteam - Main View/Workplace/Cortado/Classes/iPad/TPContentDetailViewController_iPad.m" -o "/Volumes/Sources/Starteam - Main View/Workplace/Cortado/build/Cortado.build/Debug-iphonesimulator/Cortado.build/Objects-normal/i386/TPContentDetailViewController_iPad.o" 
cc1obj: error: unrecognized command line option "-Wno-sign-conversion" 
cc1obj: error: unrecognized command line option "-fdiagnostics-print-source-range-info" 
cc1obj: error: unrecognized command line option "-fdiagnostics-show-category=id" 
cc1obj: error: unrecognized command line option "-fdiagnostics-parseable-fixits" 

如果我使用静态代码的Xcode自我分析我获得以下哪些没有问题工作的输出:

CompileC build/Cortado.build/Debug-iphonesimulator/Cortado.build/Objects-normal/i386/TPInfoCell.o Classes/TPInfoCell.m normal i386 objective-c com.apple.compilers.llvm.clang.1_0.compiler 
    cd "/Volumes/Sources/Starteam - Main View/Workplace/Cortado" 
    setenv LANG en_US.US-ASCII 
    setenv PATH "/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin" 
    /Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/clang -x objective-c -arch i386 -fmessage-length=0 -fdiagnostics-print-source-range-info -fdiagnostics-show-category=id -fdiagnostics-parseable-fixits -Wno-trigraphs -fpascal-strings -O0 -Wreturn-type -Wparentheses -Wswitch -Wno-unused-parameter -Wunused-variable -Wunused-value -Wno-shorten-64-to-32 -DDEBUG -isysroot /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator5.0.sdk -fexceptions -fasm-blocks -fprofile-arcs -ftest-coverage -mmacosx-version-min=10.6 -gdwarf-2 -Wno-sign-conversion -fobjc-abi-version=2 -fobjc-legacy-dispatch "-DIBOutlet=__attribute__((iboutlet))" "-DIBOutletCollection(ClassName)=__attribute__((iboutletcollection(ClassName)))" "-DIBAction=void)__attribute__((ibaction)" -D__IPHONE_OS_VERSION_MIN_REQUIRED=40100 -iquote "/Volumes/Sources/Starteam - Main View/Workplace/Cortado/build/Cortado.build/Debug-iphonesimulator/Cortado.build/Cortado-generated-files.hmap" "-I/Volumes/Sources/Starteam - Main View/Workplace/Cortado/build/Cortado.build/Debug-iphonesimulator/Cortado.build/Cortado-own-target-headers.hmap" "-I/Volumes/Sources/Starteam - Main View/Workplace/Cortado/build/Cortado.build/Debug-iphonesimulator/Cortado.build/Cortado-all-target-headers.hmap" -iquote "/Volumes/Sources/Starteam - Main View/Workplace/Cortado/build/Cortado.build/Debug-iphonesimulator/Cortado.build/Cortado-project-headers.hmap" "-I/Volumes/Sources/Starteam - Main View/Workplace/Cortado/build/Debug-iphonesimulator/include" "-I/Volumes/Sources/Starteam - Main View/Workplace/Cortado/build/Cortado.build/Debug-iphonesimulator/Cortado.build/DerivedSources/i386" "-I/Volumes/Sources/Starteam - Main View/Workplace/Cortado/build/Cortado.build/Debug-iphonesimulator/Cortado.build/DerivedSources" "-F/Volumes/Sources/Starteam - Main View/Workplace/Cortado/build/Debug-iphonesimulator" -include /var/folders/m7/1lwxj7113xb17b8k635bn0200000gn/C/com.apple.Xcode.501/SharedPrecompiledHeaders/Cortado_Prefix-curmpedgpezkvsgarfuwvmdrauwa/Cortado_Prefix.pch -MMD -MT dependencies -MF "/Volumes/Sources/Starteam - Main View/Workplace/Cortado/build/Cortado.build/Debug-iphonesimulator/Cortado.build/Objects-normal/i386/TPInfoCell.d" -c "/Volumes/Sources/Starteam - Main View/Workplace/Cortado/Classes/TPInfoCell.m" -o "/Volumes/Sources/Starteam - Main View/Workplace/Cortado/build/Cortado.build/Debug-iphonesimulator/Cortado.build/Objects-normal/i386/TPInfoCell.o" 

有有人知道我能做些什么来让scan-build再次运行而不禁用LLVM 3.0的使用?

回答

0

它看起来像扫描构建决定使用llvm-gcc,这是混淆Xcode,因为它期望运行铛。可能只是扫描构建中的一个bug;我建议发送一封电子邮件给cfe-dev。

+0

好的,我会用cfe-dev的邮件来试试。谢谢 – ThWee

+0

cfe-dev让我等到他们解决这个问题。问题是,如果当前的Xcode项目设置配置为使用llvm或gcc,那么scan-build不会扫描。每次使用gcc或g ++时,scan-build都会使用,具体取决于您在命令行中设置的内容。 :/所以我必须重新配置我的项目设置以使用gcc或在jenkins中禁用scan-build。 :/ – ThWee

5

找到了解决具有检验器258的构建:

通行证此PARAM扫描建造:--use-CC =`其中clang`

然后使其通过构建詹金斯和扫描-build插件......这是一个有点麻烦:

移动扫描生成扫描-build.bin,然后进行扫描,生成是一个脚本:

#!/bin/sh 

dir=$(dirname $0) 
$dir/scan-build.bin --use-cc=`which clang` [email protected] 

的结果10是:/ usr/bin/clang

编辑:为两个项目工作,一个使用LLVM 3.0,另一个使用llvm-gcc4.2。

+0

非常好。这对我有用。感谢您对此问题的调查。 – ThWee

+0

哇,非常棒的回答!请注意,上面的命令--use-cc =哪个clang需要反引号(Stack Overflow的标记语言将反引号字符解释为格式化)。所以它应该看起来像这样:'--use-cc ='其中clang''(用撇号字符替代撇号(')(重音严重; ascii字符96) –

+1

我刚刚编辑答案以显示反引号。 –

1

我提出了一个关于这个和其他问题(如扫描构建不识别ARC'd代码)与苹果的错误。

解决方法是安装checker-260,请参阅http://clang-analyzer.llvm.org/release_notes.html以及对ccc-analyzer-http://llvm.org/viewvc/llvm-project?view=rev&revision=149094的此修改。希望将ccc-analyzer的修复程序整合到未来的scan-build版本中。

使用此最新版本的scan-build将避免您必须对上一个答案中描述的scan-build进行修改。

相关问题