我正在使用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
Run Code Online (Sandbox Code Playgroud)
我运行make时遇到错误:
/usr/bin/ld: cannot find -lgtest
Run Code Online (Sandbox Code Playgroud)
我该如何解决?我是这种测试的新手,而不是linux的新手,所以我真的输了.
我在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
Run Code Online (Sandbox Code Playgroud)
就个人而言,我会很感激一个没有手动移动文件的解决方案/usr/lib,但从好的方面来看,它可以按原样运行.
截至目前,Google 测试框架尚未附带预构建的二进制文件;你需要自己构建它们。有关如何执行此操作的完整详细信息,请参阅 README(对于 Debian,路径为 /usr/src/googletest/googletest/README.md)。