让程序找到动态库(.so)
- 将生成的动态库拷贝到/usr/lib或者/lib下;
- 配置LD_LIBRARY_PATH = $LD_LIBRARY_PATH:.;
- 添加配置文件,/etc/ld.so.conf.d/my.conf,用ldconfig命令冲洗你刷新配置文件。
demo: hello.c动态库源文件,hello.h动态库头文件
文件1:
//hello.c
#ifndef HELLO_H
#define HELLO_H
void hello(const char *name);
#endif //HELLO_H
文件2:
//hello.c
#include <stdio.h>
void hello(const char *name)
{
printf("Hello %s!\n", name);
}
编译命令:
//将hello.c编译成.o文件;
gcc -c hello.c
//生成动态库
gcc -shared -fPIC -o libmyhello.so hello.o
写个测试程序main.c
#include "hello.h"
int main()
{
hello("ryan_naiquan");
return 0;
}
使用动态库:
gcc -o main main.c -L. -lmyhello
运行 :
./main
如果出错,是未找到库文件,请按照文章开头添加库文件。
本文由 Ryan 创作,采用 知识共享署名4.0 国际许可协议进行许可
本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名
最后编辑时间为:
2019/04/02 18:16