一、静态链接库项目
1、创建头文件library.h文件
#ifndef TESTC_LIB_LIBRARY_H
#define TESTC_LIB_LIBRARY_H
void hello(void);
void hello2(void);
#endif //TESTC_LIB_LIBRARY_H
2、创建c文件library.c
#include "library.h"
#include <stdio.h>
void hello(void) {
printf("Hello, World!\n");
}
void hello2(void) {
printf("Hello, World2!\n");
}
3、创建CMakeLists.txt文件
cmake_minimum_required(VERSION 3.21)
project(testc_lib C)
set(CMAKE_C_STANDARD 99)
add_library(testc_lib library.c library.h)
4、执行cmake .命令及make命令构建lib库
mac系统会出现libtestc_lib.a文件
linux系统会出现libtestc_lib.a文件
windows系统会出现libtestc_lib.lib文件
二、test项目
1、把静态链接库项目中的头文件library.h和libtestc_lib.a静态链接库文件复制过来
2、创建main.c文件,添加如下代码
#include "staticinclude/library.h"
int main() {
hello2();
return 0;
}
3、添加CMakeLists.txt文件内容
cmake_minimum_required(VERSION 3.21)
project(testc C)
set(CMAKE_C_STANDARD 99)
include_directories(staticinclude)
link_directories(staticlib)
add_executable(testc main.c)
target_link_libraries(testc libtestc_lib.a)
构建完成后,再删除掉libtestc_lib.a无影响(因为已经被链接进了可执行文件内部)