有些时候我们需要将部分代码编译成单独的一个库,然后在另一个项目中去使用这个库
大部分是linux环境下的指令,但是也差不是很多
记录一下构建的经过
目录
2.被测项目编译成库文件,结合gtest框架在测试项目中调用函数并输出
1.使用cmake构建及使用lib库
构建lib库
- 最终目录展示
- 下面给出libhello目录下的源代码
头文件hello.h
#ifndef HELLO_H
#define HELLO_H
void hello();
#endif
源文件hello.cpp
#include<stdio.h>
#include"hello.h"
void hello()
{
printf("hello world!\n");
}
cmakelists.txt
cmake_minimum_required (VERSION 2.6)
project(hello)
#//生成动态库(SHARED)
add_library(hello ${PROJECT_SOURCE_DIR}/libhello/hello.cpp)
#add_library(hello SHARED ${PROJECT_SOURCE_DIR}/libhello/hello.cpp)
#//安装文件到目录下
#install(TARGETS hello RUNTIME DESTINATION ${PROJECT_SOURCE_DIR}/lib)
#install(FILES "${PROJECT_SOURCE_DIR}/libhello/hello.h" DESTINATION "${PROJECT_SOURCE_DIR}/include")
注释掉的那一行是动态库,因为我后面引入动态库有点问题,所以就引入的是静态库
如果不知道怎么生成编译项目,见下面这个链接