在设置Google Test时无法找到-lgtest

时间:2015-03-05 03:10:23

标签: c++ googletest

我正在使用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的新手,所以我真的输了。

2 个答案:

答案 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)。