运行命令
>echo $(gtest-config --cppflags --cxxflags)
和
echo $(gtest-config --ldflags --libs)
能够得到gtest配置的头文件路径和库文件路径。
cxy-/home/chenxueyou/gtest$ echo $(gtest-config --cppflags --cxxflags)
-I/usr/include -pthread
cxy-/home/chenxueyou/gtest$ echo $(gtest-config --ldflags --libs)
-L/usr/lib64 -lgtest -pthread
而在我们的Makefile中运行时上面两个命令的结果为空。
所以改动Makefile,手动指定头文件路径和库文件路径,Makefile为
TARGET=test_main
all:
gtest-config --min-version=1.0 || echo "Insufficient Google Test version."
g++ -I/usr/include -pthread -o $(TARGET).o -c test_main.cpp
g++ -L/usr/lib64 -lgtest -pthread -o $(TARGET) $(TARGET).o
clean:
rm -rf *.o $(TARGET)
这样,我们的第一个gtest測试文件就能编译通过了。
总结
1.Makefile实际运行的命令可能与预想的命令不一样。要细致查看。
2.gtest通过头文件和库的方式引入project。要指定其头文件和库文件的位置
3.gtest-config命令可以帮助我们找到相应的路径