生成gtest静态库 libgtest.a文件
来源:互联网 发布:类似openvpn的软件 编辑:程序博客网 时间:2024/05/17 17:43
生成libgtest.a文件
在前面的一篇文章中我大概的描述了gtest的使用,不过生成libgtest.a文件包含gtest_main.a文件,如果我们要写自己的main函数怎么呢,而不源码包中提供的gtest_main.cc文件。[http://blog.csdn.net/chenxun_2010/article/details/53639980]
好了,
1. 下载gtest源码包。目录结构如下。
2.生成静态库a文件
g++ -isystem ./include -I./ -pthread -c src/gtest-all.cc 生成gtest-all.o文件
然后执行下面的命令生成libgtest.a文件
ar -rv libgtest.a gtest-all.o
3.libgtest.a文件的使用。
建立自己的工程目录,目录结构如下
把gtest源码包下面的include下的文件拷贝到自己的工程目录下的include文件夹下
把刚才生成的libgtest.a的文件拷贝自己工程目录下lib目录下
cp ~/gtest-1.7.0/libgtest.a lib/
拷贝源码里面的例子到自己的工程目录下
cp ~/gtest-1.7.0/samples/sample1.h include/
cp ~/gtest-1.7.0/samples/sample1.cc src/sample1.cpp
cp ~/gtest1.7.0/samples/sample1_unittest.cc src/sample1_unittest.cpp
然后参考gtest源码包下src中gtest_main.cc文件写一个自己的main文件
放到自己的工程目录下src文件夹下
#include <stdio.h>#include "gtest/gtest.h"GTEST_API_ int main(int argc, char **argv) { printf("Running main() from gtest_main.cc\n"); testing::InitGoogleTest(&argc, argv); return RUN_ALL_TESTS();}
然后写一个自己的工程makefile文件,我提供一下我的makefile文件,大家可以仿照这个makefile写自己的makefile文件
CC = gccXX = g++CFLAGS = -W -O0 -fPICtarget = ./run_testincludes = -I ./ \ -I ../ \ -I /root/gtest_program/include \#the a file path lib_path = -L ./ \ -L ../ \ -L /root/gtest_program/lib#link lib.a filelib = -lpthread \ -lgtest\INCLUDE := $(includes)user_dir = ./ \ ./srcfiles = $(foreach d, $(user_dir), $(wildcard $(d)/*.cpp))objects = $(patsubst %.cpp, %.o, $(files))$(target) : $(objects) $(XX) $^ -o $@ $(lib_path) $(lib)%.o : %.cpp $(XX) $(CFLAGS) $(includes) -c $^ -g -o $@ -DLinuxclean : rm -rf $(target) rm -rf $(objects)
makefile写好后执行make命令生成可以执行的文件
运行:
到此为止本篇文章就大概到这里,如果有不明白的地方请留言。转载请注明出去,谢谢!
- 生成gtest静态库 libgtest.a文件
- 静态链接库.a文件生成方法
- iOS 生成静态库.a文件
- iOS静态库文件(.a)生成
- 打包生成静态库.a文件
- iOS 生成静态库.a文件教程
- iOS 生成静态库.a文件
- iOS项目生成静态库文件(.a)
- Ubuntu共享库问题[gtest]_error while loading shared libraries: libgtest.so.0: cannot open shared object fi
- gcc生成.a.so静态库和动态库文件
- gcc生成.a静态库和.so动态库文件
- gcc生成.a静态库和.so动态库文件
- gcc生成.a静态库和.so动态库文件
- Linux下静态库.a文件生成方法
- Linux下静态库.a文件生成方法
- 静态库.a 文件是如何生成的
- [iOS]生成并使用静态库(.a)文件
- Xcode 生成静态包.a文件
- LeetCode160. Intersection of Two Linked Lists
- 技术文章url
- Java 基础 字符串 方法
- Android4.4深入浅出之SurfaceFlinger总体结构
- Centos7 修改运行级别
- 生成gtest静态库 libgtest.a文件
- // OC 中的 getter setter
- LeetCode257. Binary Tree Paths(dfs)
- LeetCode3. Longest Substring Without Repeating Characters
- 矩阵及其压缩存储
- Mysql单文件存储删除数据Bug文件容量不会减少
- LeetCode100. Same Tree
- iOS 保留两位小数 不四舍五入
- SpringMVC Controller 介绍