- 生成C++静态库
hello.h文件
#ifndef HELLO_H
#define HELLO_H
#ifdef __cplusplus
extern "C"{
#endif
void hello(void);
#ifdef __cplusplus
};
#endif
hello.cpp文件
#include
#include "hello.h"
void hello()
{
printf("hello ,this is c++ library\n");
}
- 将cpp文件生成静态库
g++ -c hello.cpp -o hello.o
ar rsc libhello.a hello.o
- C语言测试文件
hello_test.c
#include
#include "hello.h"
int main(void)
{
printf("begin to use libary\n");
hello();
return 0;
}
- C语言调用C++静态库过程
- 使用gcc将C文件只编译不连接,生成.o文件
- 使用g++将.o文件和静态库文件进行连接
gcc -c hello_test.c -o hello_test.o
g++ -o hello_static hello_test.o -L. libhello.a