我正在使用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也是新手,所以我真的很迷茫。
3条答案
按热度按时间zi8p0yeb1#
我在Ubuntu 17.10上遇到了这个问题,基本上 Alexandria 说的是真的。
有人写了一个很好的教程,其中包含可以在https://www.eriksmistad.no/getting-started-with-google-test-on-ubuntu/上找到的显式命令
它可以归结为:
就我个人而言,我希望有一个解决方案,不需要手动将文件移动到
/usr/lib
中,但从好的方面来说,它可以按原样工作。qgelzfjb2#
到目前为止,Google测试框架没有预装二进制文件;你得自己动手请参阅README中的详细信息(对于Debian,路径是/usr/src/googletest/googletest/README.md)。
3bygqnnd3#
在Ubuntu 22.04中,可以执行以下操作来链接gtest和gtest_main库:
此脚本将编译静态库
libgmock.a libgmock_main.a libgtest.a libgtest_main.a
。然后使用cmake --install来避免手动将某些内容复制到/usr/local/lib