我正在使用Google Test for C ++并尝试在我的linux机器上进行设置。 我的make文件包含以下代码:
CC=g++
CFLAGS=-I $(GOOGLETESTDIR)/include -L $(GOOGLETESTDIR)/lib -lgtest -lpthread -Wall
DEPS=fib.h
OBJS=fib.o main.o
all: | r6
clean:
-rm -f r6 $(OBJS)
%.o: %.cpp $(DEPS)
$(CC) -c -o $@ $< $(CFLAGS)
r6: $(OBJS)
$(CC) -o $@ $^ $(CFLAGS)
.PHONY: all clean
我在运行make时遇到错误:
/usr/bin/ld: cannot find -lgtest
我该如何解决这个问题?我是这种测试的新手,而不是linux的新手,所以我真的输了。
答案 0 :(得分:7)
我在Ubuntu 17.10上遇到过这个问题,基本上亚历山大所说的是真的。
有人写了一个很好的教程,其中包含明确的命令,可以在https://www.eriksmistad.no/getting-started-with-google-test-on-ubuntu/
找到归结为:
sudo apt install libgtest-dev cmake
cd /usr/src/gtest
sudo cmake CMakeLists.txt
sudo make
sudo cp *.a /usr/lib
就我个人而言,我希望找到一种不会手动将文件移动到/usr/lib
的解决方案,但从正面来看,这可以按原样运行。
答案 1 :(得分:0)
截至目前,Google测试框架未预装二进制文件;你需要自己构建它们。有关如何在README中执行此操作的详细信息(对于Debian,路径为/usr/src/googletest/googletest/README.md)。