【发布时间】:2015-01-18 10:58:07
【问题描述】:
大约一周前,我从 Windows 和 Visual Studio 转到了 Mac 和 Xcode。我希望能够在 Mac 上处理我的项目,所以我决定移植它。
首先,我需要测试才能在 Mac 上工作,Google 提供了 instructions 来说明如何做到这一点。使用 Xcode 构建测试后,我可以在输出目录中看到三个文件:test.framework、libgtest_main.a 和 libgtest.a .
文档说我需要将 test.framework 与我的项目相关联。因此,我创建了新的控制台应用程序项目并将其与 test.framework 文件链接。 不幸的是,我的构建失败了大约 70 多个问题。在我将 librettist.a 链接到我的项目后,它失败了,只有 2 个问题。他们在这里:
架构 x86_64 的未定义符号:
“测试::内部::EqFailure(char const*, char const*, std::__1::basic_string, std::__1::allocator > const&, std::__1::basic_string, std::__1::allocator > const&, bool)”,引用自: testing::AssertionResult testing::internal::CmpHelperEQ(char const*, char const*, int const&, int const&) 在 main.old 中: 未找到体系结构 x86_64 的符号:错误:链接器 命令失败,退出代码为 1(使用 -v 查看调用)
据我了解,链接器无法解析符号。如果我将我的项目与 libgtest_main.a 链接,它不会改变任何内容,并且此错误仍然存在。那么,我该如何解决呢?
【问题讨论】:
-
我也有同样的问题。我正在尝试在 QtCreator 的 Mac OSX 上使用 gtest。
标签: xcode googletest