Что вы сделали, чтобы решить упомянутый вами gmock (ссылка прилагается)?

ошибка связывания при создании теста Google на Mac (командная строка)

Внизу вы написали редактирование об обнаружении нескольких установок gmock на одном компьютере, которые испортили путь включения для компилятора, поэтому он использовал старую 32-битную версию 1.5 вместо правильной.

Я установил свой через brew; brew install gmock, все заработало и все такое, но у меня та же проблема, что и у вас. Если бы вы могли просто сказать мне, как правильно скомпилировать его, как вы упомянули в своем посте, я был бы достаточно рад пойти и дать вам несколько голосов, или вы могли бы просто отредактировать ссылку, и я прочитал бы ее (пожалуйста, сообщите мне, когда вы хоть делай).

Я прочитал инструкции на кодовой странице googlemock google и то, что я скачал, чтобы попытаться создать что-то против нее. Я много искал, и я не могу найти ничего близкого к тому, о чем вы говорили.

Чтобы объяснить вам, что я делаю, я написал очень простой тест: http://codepad.org/zxBugY0w

И когда я попытался скомпилировать его с моей локальной информацией, я получил: http://pastebin.com/fqEZ6zTq


person Adam Miller    schedule 17.04.2012    source источник
comment
Это был мой самый первый вопрос о stackoverflow. Ссылка в самом верху, ошибка связывания, когда... ссылки на вопрос, на который я думал, что отвечаю, потому что я хотел спросить исходного пользователя, который опубликовал, что в этом. Когда я щелкнул его имя, в правом верхнем углу было написано «задать вопрос».   -  person Adam Miller    schedule 17.04.2012


Ответы (3)


Вам нужна ссылка на gtest и gmock.

В вашей команде g++ вам нужно добавить -L <full path to gtest lib> -L <full path to gmock lib> -lgmock -lgtest.

person Fraser    schedule 17.04.2012

Установка gtest через brew или вообще не является поддерживаемой конфигурацией. Способ использования gtest заключается в том, чтобы вы включили его в проект и скомпилировали оба вместе. Затем вы делаете ссылку на свою версию, которая гарантированно будет скомпилирована с теми же настройками.

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

Кроме того, обратите внимание, что вы получаете сообщение об ошибке, отличное от ошибки в вопросе, на который вы ссылаетесь. Этот человек получил ошибку, потому что он случайно связался с версией, которая была скомпилирована с другими настройками. Вы вообще не связываетесь с ним (хотя вы можете увидеть аналогичные ошибки в будущем, если продолжите с brew конфигурацией).

person sfiera    schedule 17.04.2012
comment
Пожалуйста, не обращайте внимания на ошибку кодовой панели, где говорится о выводе. Codepad запускает код на своей стороне, и у них не установлен gmock. Ошибка, которую я получил, была в pastebin, пожалуйста, посмотрите. - person Adam Miller; 17.04.2012
comment
да. Ваша ошибка в ссылке pastebin другая. Его ошибка произошла из-за ссылки на неуниверсальный libgtest; ваш не связывался ни с кем. Подобные сообщения об ошибках, но не то же самое. - person sfiera; 17.04.2012

Собственно, проблема была в том, что я не линковал скомпилированную версию архива, libgmock.a

Как только я подключился, все заработало нормально.

person Adam Miller    schedule 17.04.2012