2011-10-19 39 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進行修改。

相關問題