c++ 设置Google Test时找不到-lgtest

rmbxnbpk  于 2023-07-01  发布在  Go
关注(0)|答案(3)|浏览(218)

我正在使用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也是新手,所以我真的很迷茫。

zi8p0yeb

zi8p0yeb1#

我在Ubuntu 17.10上遇到了这个问题,基本上 Alexandria 说的是真的。
有人写了一个很好的教程,其中包含可以在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中,但从好的方面来说,它可以按原样工作。

qgelzfjb

qgelzfjb2#

到目前为止,Google测试框架没有预装二进制文件;你得自己动手请参阅README中的详细信息(对于Debian,路径是/usr/src/googletest/googletest/README.md)。

3bygqnnd

3bygqnnd3#

在Ubuntu 22.04中,可以执行以下操作来链接gtest和gtest_main库:

apt install googletest
cd /usr/src/googletest
mkdir build
cd build
cmake ..
make
cmake --install .

此脚本将编译静态库libgmock.a libgmock_main.a libgtest.a libgtest_main.a。然后使用cmake --install来避免手动将某些内容复制到/usr/local/lib

相关问题