0

在 Mac 上构建 Google 测试时出现链接错误(命令行)

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

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

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

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

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

4

3 回答 3

2

您需要链接到 gtest 和 gmock。

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

于 2012-04-17T08:35:39.810 回答
1

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

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

于 2012-04-17T17:30:34.473 回答
1

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配置,您可能会在路上看到类似的错误)。

于 2012-04-17T15:12:37.903 回答