Как настроить gTest, чтобы связать аганиста с библиотекой? Я буду кодировать в vim, поэтому просто хочу установить библиотеки, в отличие от XCode setup. Цель состоит в том, чтобы иметь возможность связать проект с библиотекой, установив -lgtest
в качестве флага компоновщика и, при желании, если я не написал свой собственный тег mainroutine, явный флаг -lgtest_main
.
Как правильно настроить googleTest на OS X в стороне от XCode
Ответ 1
Прежде чем начать, убедитесь, что вы прочитали и поняли эта заметка от Google! Этот учебник позволяет использовать gtest легко, но может содержать неприятные ошибки.
1. Получить раму googletest
$ wget https://github.com/google/googletest/archive/release-1.8.0.zip
Или получить его рука. Думаю, я не буду манить этот маленький How-to, поэтому, если вы наткнулись на него, и ссылки устарели, не стесняйтесь его редактировать.
2. Разархивируйте и создайте тест Google
$ unzip gtest-1.8.0.zip
$ cd gtest-1.8.0
$ ./configure
$ make
3. "Установите" заголовки и библиотеки в вашей системе.
$ sudo cp -a include/gtest /usr/include
$ sudo cp -a lib/.libs/* /usr/lib/
gTestframework теперь готов к использованию. Просто не забудьте связать свой проект с библиотекой, установив -lgtest
в качестве флага компоновщика и, при необходимости, если вы не создали собственный тестовый mainroutine, явный флаг -lgtest_main
.
Здесь вы можете пойти в Googles documentation о структуре, чтобы узнать, как она работает. Счастливое кодирование!
Ответ 2
Он советует вам статически ставить ссылку. Там нет секретов. Будучи немного оффтопическим, я использую CMake в своих проектах, которые я рекомендую, и здесь (https://github.com/oblitum/operations) У меня есть очень простой скелетный проект который ссылается на gmock и gtest (он также советует google, что вы используете тот же самый gtest из gmock, когда используете gmock). В папке external
находятся внешние файлы CMake, которые фактически импортируют gtest и gmock через ExternalProject_Add
. В образце я устанавливаю URL
как путь к файлу в моей системе, где загружаются gmock и gtest, но если вы проверите CMake ExternalProject_Add
docs, вы увидите, что загружаемые URL-адреса, также доступны онлайн-адреса репозитория, который позволяет вашей сборке загружать gtest и gmock и автоматически кэшировать его.
Ответ 3
Я думаю, что cmake - это простой способ настройки и использования gtest на OSX. Он работает без ручного копирования файлов. Unzip gooletest-release-1.8.0, затем
cd googletest-release-1.8.0
# create a build directory
mkdir build
cd build
# build configuration
cmake .. -DBUILD_GTEST=ON -DBUILD_SHARED_LIBS=ON
# build it
make
# installation
sudo make install
Впоследствии вы можете легко включить gtest в свой проект с помощью команд cmake
# sets GTEST_INCLUDE_DIRS and GTEST_LIBRARIES
find_package( GTest REQUIRED )
# adds the gtest include directory
include_directories( ${GTEST_INCLUDE_DIRS} )
# links gtest
target_link_libraries( yourTestApp ${GTEST_LIBRARIES} )