如何在 OS X 上正确设置 googleTest,除了 XCode

How to properly setup googleTest on OS X aside from XCode

本文关键字:googleTest 设置 除了 XCode OS      更新时间:2023-10-16

如何设置 gTest,以便我可以链接到库?我将在 vim 中编码,所以我只想安装库,这与 XCode 设置不同。目标是能够通过将-lgtest设置为链接器标志来将项目链接到库,如果我没有编写自己的测试主例程,则可以选择显式-lgtest_main标志。

在开始之前,请确保您已阅读并理解这张来自谷歌的笔记!本教程使使用 gtest 变得容易,但可能会引入令人讨厌的错误。

1. 获取谷歌测试框架

$ wget https://github.com/google/googletest/archive/release-1.8.0.zip

或者用手拿。我想我不会操纵这个小操作方法,所以如果你偶然发现了它并且链接已经过时,请随时编辑它。

2. 解压缩并构建谷歌测试

$ 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链接器标志来将项目链接到库,如果您没有编写自己的测试主例程,则可以选择显式-lgtest_main标志。

从这里开始,您可能想转到有关该框架的Google文档以了解其工作原理。祝您编码愉快!

建议您静态链接。没有秘密。有点跑题了,我在我的项目中使用 CMake,我推荐,在这里(https://github.com/oblitum/operations)我设置了一个非常基本的骨架项目,链接到 gmock 和 gtest(谷歌也建议你在使用 gmock 时使用相同的 gtest)。在external文件夹中驻留着外部CMake文件,这些文件实际上通过ExternalProject_Add导入gtest和gmock。在示例中,我将URL设置为下载 gmock 和 gtest 的系统中的文件路径,但是,如果您检查 CMake ExternalProject_Add文档,您可以看到下载 URL、在线存储库 URL 也可用,这可以让您的构建下载 gtest 和 gmock,并自动缓存它。

我认为cmake是在OSX上设置和使用gtest的简单方法。它无需手动复制文件即可工作。解压缩 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

之后,您可以使用 cmake 命令轻松地将 gtest 合并到您的项目中

# 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} )