【问题标题】:Undefined symbols when attempting to use CoverStory with iPhone app: _vproc_transaction_end, _vproc_transaction_begin尝试将 CoverStory 与 iPhone 应用程序一起使用时未定义的符号:_vproc_transaction_end、_vproc_transaction_begin
【发布时间】:2024-11-12 19:25:01
【问题描述】:

在关注these steps to set up an iphone project with CoverStory 之后,我的构建失败并出现两个链接器错误。

Undefined symbols:
  "_vproc_transaction_end", referenced from:
      _gcov_exit in libgcov.a(_gcov.o)
      _vproc_transaction_end$non_lazy_ptr in libgcov.a(_gcov.o)
     (maybe you meant: _vproc_transaction_end$non_lazy_ptr)
  "_vproc_transaction_begin", referenced from:
      ___gcov_init in libgcov.a(_gcov.o)
      _vproc_transaction_begin$non_lazy_ptr in libgcov.a(_gcov.o)
     (maybe you meant: _vproc_transaction_begin$non_lazy_ptr)
ld: symbol(s) not found
collect2: ld returned 1 exit status

我在 Snow Leopard 上使用 Xcode 3.2、GCC 4.2。有什么我想念的想法吗?

【问题讨论】:

    标签: iphone xcode code-coverage gcov coverstory


    【解决方案1】:

    您是否按照网页的指示将“-lgcov”添加到其他链接器标志?

    MACOSX_DEPLOYMENT_TARGET 设置的值是多少? This pagethis page 建议该值需要设置为 10.6。

    【讨论】:

    • 是的,OTHER_LDFLAGS=-lgcov。 MACOSX_DEPLOYMENT_TARGET=Mac OS X 10.5。 10.6 似乎不适用于模拟器,尝试切换到 10.6 并得到:找不到 -lcrt1.10.6.o 的库。跑 'locate crt1.10.6.o' 并没有在 /Developer/Platforms/iPhoneSimulator.platform/ 下看到一个。看起来 Sim 仅针对 10.5 编译?
    • 好奇是否有人能够在 Snow Leopard 上使用 Xcode 3.2、GCC 4.2 运行 gcov。
    • 不是我,我得到了同样的错误。如果这意味着什么,也使用 SenTest。
    【解决方案2】:

    以下是在 Snow Leopard 上使用 Xcode 3.2.2、GCC 4.2 运行 gcov 的方法:

    http://code.google.com/p/coverstory/wiki/SnowLeopardGCov

    【讨论】:

      最近更新 更多