【问题标题】:What did you do to solve gmock you mentioned (link enclosed)?你做了什么来解决你提到的 gmock(附上链接)?
【发布时间】:2012-04-28 08:21:18
【问题描述】:

linking error when building Google test on mac (commandline)

在底部,您编写了关于在同一台计算机上查找多个 gmock 安装的编辑,这弄乱了编译器的包含路径,因此它使用的是旧的 1.5 32 位版本而不是正确的版本。

我通过 brew 安装了我的; brew install gmock,一切正常,但我遇到了同样的问题。如果您能像您在帖子中提到的那样告诉我如何正确编译它,我会很高兴去给您一些支持,或者您可以编辑链接,我会阅读它(请在您阅读时通知我虽然做)。

我已阅读 googlemock google 代码页上的说明以及我下载的内容,以便尝试根据它进行构建。我已经搜索了很多,但我找不到任何与您所谈论的内容接近的东西。

为了向你解释我在做什么,我写了一个非常简单的测试: http://codepad.org/zxBugY0w

当我尝试使用本地包含的信息对其进行编译时,我得到: http://pastebin.com/fqEZ6zTq

【问题讨论】:

  • 这是我关于 stackoverflow 的第一个问题。最顶部的链接“链接错误时...”链接到我认为我正在回复的问题,因为我的意思是询问发布内容的原始用户。当我点击他的名字时,在右上角,它说“提问”

标签: gmock


【解决方案1】:

您需要链接到 gtest 和 gmock。

在您的 g++ 命令中,您需要添加-L <full path to gtest lib> -L <full path to gmock lib> -lgmock -lgtest

【讨论】:

    【解决方案2】:

    通过brew 安装 gtest 或根本不支持配置。 gtest 的使用方式是让您将其包含在项目中并一起编译。然后,您链接到您的版本,保证使用相同的设置进行编译。

    http://code.google.com/p/googletest/wiki/FAQ#Why_is_it_not_recommended_to_install_a_pre-compiled_copy_of_Goog

    另外,请注意,您遇到的错误与您链接到的问题中的错误不同。该人收到错误,因为他们不小心链接到使用不同设置编译的版本。您根本没有链接它(尽管如果您继续使用 brew 配置,您可能会看到类似的错误)。

    【讨论】:

    • 请不要注意键盘错误,它说输出。 Codepad 在他们这边运行代码,他们没有安装 gmock。我得到的错误是在 pastebin 中,请看一下。
    • 是的。您在 pastebin 链接中的错误是不同的。他的错误是由于链接到一个非通用的 libgtest;你的没有链接任何。类似的错误信息,但不一样。
    【解决方案3】:

    实际上,问题在于我没有链接到存档的编译版本 libgmock.a

    一旦我链接,它工作得很好。

    【讨论】:

      猜你喜欢
      • 2012-10-22
      • 2020-09-10
      • 2010-10-31
      • 2020-02-24
      • 2010-09-27
      • 2012-02-06
      • 1970-01-01
      • 2016-08-10
      • 1970-01-01
      相关资源
      最近更新 更多