【问题标题】:How can I use boost::test with xcode 4 for testing some ios c++ code?如何使用 boost::test 和 xcode 4 来测试一些 ios c++ 代码?
【发布时间】:2023-03-31 03:04:01
【问题描述】:

我希望它的运行方式与普通测试框架的工作方式类似 - 如果您从 Product->Run tests 菜单项进行测试,输出应该出现在左侧边栏窗口中。

我找到了guide for using xcode 3 with boost test,但不知道如何为 xcode 4 翻译这些指令(如果可能的话)。

最后,我正在构建一个 iPhone 应用程序。我可以使用#include <boost/test/included/unit_test.hpp> 来加速运行,但是速度很慢。使用标准 #include <boost/test/unit_test.hpp> 会导致链接错误,因为库是为错误的架构构建的。

【问题讨论】:

  • 老问题,但我也在努力解决这个问题。只是指出非常感谢一个解决方案。您自己是否找到了解决方案?
  • 不幸的是,没有。我不久前也停止了我打算使用它的项目,所以我根本帮不了你:(
  • 您应该为 ARM 和 x86 构建 boost 库,然后使用 lipo (man lipo) 将它们合并到一个 .a 中,这应该会修复有关为错误拱门构建的库等的链接错误.

标签: c++ ios xcode boost xcode4


【解决方案1】:

您应该使用 .configure 和 make 将 boost 库构建为静态库“.a”。 根据this

构建不需要特殊的构建选项或宏定义 静态库。使用 Boost.Build 系统,您可以构建 使用 libs/test/build 中的以下命令的静态库 目录:

bjam [-sTOOLS=] {-sBUILD=boost_unit_test_framework}

需要将这个或多个库及其各自的头文件添加到项目中。 (需要两个内置版本,一个用于模拟器的 i386 和一个用于设备的 ARM)。

  • 静态库是从Link Binary with Libraries中导入的 构建阶段。
  • 你还需要告诉 XCode 使用哪一个,你 可以通过在 `Build settings-
  • 中设置条件构建设置来做到这一点
  • 图书馆搜索路径。在此行上方是您将 Header Search Path 添加到 boost 头文件的位置。

在此之后,您应该能够在您的 C++ 或 Objective-C++ 代码中包含标头(在上面添加)。 (要制作 Obj-C 文件 Obj-C++ 文件,您需要将所有依赖的 .m 文件更改为 .mm

如果在此之后出现一些问题,在 Build Settings 中切换 Compiler 或 C++ 标准库可能会有所帮助。

【讨论】:

    猜你喜欢
    • 2011-06-21
    • 2023-03-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-23
    • 1970-01-01
    • 2011-07-25
    • 1970-01-01
    相关资源
    最近更新 更多