2012-10-01 9 views
9

私はXcode 4.5でコードカバレッジを設定しようとしています。これを行うために、デバッグ設定のためのテストカバレッジファイルの生成と計測器プログ​​ラムフローをオンにしました。 http://meandmark.com/blog/2012/08/xcode-4-generating-code-coverage-files-with-llvm/によれば、それだけで十分です。しかし、今、リンカはそれが見つからないといって:Xcode 4.5でiOSコードカバレッジが壊れていますか?

  • _llvm_gcda_emit_arcs
  • _llvm_gcda_emit_function
  • _llvm_gcda_end_file _llvm_gcda_increment_indirect_counter

_llvm_gcda_start_file私は、libprofile_rt.dylibを見つけることを試みましたもう存在しないようです。コードカバレッジファイルを生成するために何が必要ですか?ターゲットのビルド設定で

+0

現在、LLVMコードカバレッジは、iOSではなくMac OS Xでのみご利用いただけます。 –

+1

iOSで利用できます。また、ブログエントリの命令は完全ではありません。テスト対象を作成できません。 – Mateusz

答えて

4

これらのリンカエラーも発生しました。私はXcode 4.2と4.3を使ってエラーを見ました。彼らがまだ4.5に入っているかどうかはわかりません。

これを解決するために、llvmプロジェクトのユニットテストコードプロジェクトにthis fileを追加しました。それを私のMacでビルドするには、win32を削除し、sysには#include "llvm/Support/DataTypes.h"を含めて、#include "stdint.h"と置き換えてください。

+0

これはXcode 4.5でうまく機能しました!ありがとう! – Karl

+0

あなたは男です!これはとても役に立ちました! – rooftop

+0

こんにちは、私はまだこの問題を抱えています。そして私はそれを修正しようとしています。あなたと同じファイルを見つけることができませんでしたが、GCOVProfiling.cppというファイルがあります。彼らは同じ機能を持っていると思う。問題は、llvmプロジェクトの他のファイルのインポートが非常に多いことです。すべての輸入品とどうすればいいですか?どんな助けも高く評価されます、ありがとう! – gyan

8

(すべてを選択してください)

セット:

  • アップルLLVMのコンパイラ
    • インストゥルメントプログラムの流れ:
    • YESテストカバレッジファイルの生成:YES
+0

私の質問は、私がすでにこれをしたことを具体的に述べています。 – Karl

+0

これは完全に正しい答えです。 Xcode 4.5.1でこれを確認しました。これらの設定をテスト対象に設定するだけで済みます。 テスト対象を作成することができます。 ファイル - >新規 - >ターゲット 次に、[iOS |その他| Cocoa Touch Unit Testing Bundle さらに、プロファイルコードの生成:YESを設定して、生成されたgcdaファイルを取得する必要があります。それが私が最近遭遇した唯一の問題でした。リンクエラーは発生しません。 – Mateusz

+2

私は同じ問題があります。 gcnoファイルはありますが、gcdaファイルはありません。私はそれらをすべてのビルド構成用に設定し、プロファイリングコードの生成をYESに設定しましたが、gcdaファイルはありません。 – Flax

0

ユニットテストは、gcdaファイルを生成するために合格する必要があります。

関連する問題