在Unix中设置Googletest

时间:2015-02-18 17:17:25

标签: g++ googletest

我使用GoogleTest时遇到问题,即我不清楚我应该包含哪些库(以及如何)。遵循README我所做的教导

g++ -isystem ${GTEST_DIR}/include -I${GTEST_DIR} -pthread -c \
${GTEST_DIR}/src/gtest-all.cc

ar -rv libgtest.a gtest-all.o

其中${GTEST_DIR}是google测试文件夹所在的位置。 完成这些步骤后,我在gtest-all.o

内有libgtest.a${GTEST_DIR}

如何立即编译Test.cpp文件?我已经尝试过(按照相同的说明建议)

g++ -isystem ${GTEST_DIR}/include -pthread Test.cpp libgtest.a -o test

但我得到了错误

clang: error: no such file or directory: 'libgtest.a'

甚至添加

-L${GTEST_DIR}

似乎没有帮助。 我应该在脚本中包含哪些(以及如何)?

奖金问题:还可以创建一个文件夹并在那里cmake .. && make。这将创建(在CMake文件中)lib libgtest.alibgtest_main.a。这有什么不同?是出于兼容性原因吗?

1 个答案:

答案 0 :(得分:1)

尝试以下方法:

g++ -isystem ${GTEST_DIR}/include -L${GTEST_DIR} -lgtest -pthread Test.cpp -o test

至于构建gtest的多种方式,这里是自述文件的相关部分:

Before settling on CMake, we have been providing hand-maintained build
projects/scripts for Visual Studio, Xcode, and Autotools.  While we
continue to provide them for convenience, they are not actively
maintained any more.  We highly recommend that you follow the
instructions in the previous two sections to integrate Google Test
with your existing build system.

这里的关键点是,对于非常小的项目,您可以手动编译所有内容,也可以使用cmake;这取决于你的舒适度。对于大型项目,您应该集成到您自己的构建系统中。