本文共 881 字,大约阅读时间需要 2 分钟。
1, 编译,使用-shared和-fpic 生成动态链接库
库源码:test.c#include#include #include static void printline(int len){ int i; for(i = 0;i
头文件:test.h
#ifndef __TEST_H__#define __TEST_H__void print(char * s);#endif
编译库文件:
gcc test.c -shared -fpic -o libtest.so
2.编译测试代码
测试代码:main.c
#include "test.h"int main(){ char teststr[] = "hello world"; print(teststr); return 0;}
编译测试代码
gcc main.c -L./ -ltest -o main
3.运行
当运行时,发现找不到库文件
./main: error while loading shared libraries: libtest.so: cannot open shared object file: No such file or directory这个是linux库文件搜索路径的问题,有两个解决方式
root@GFD:~/workspace/so_test# export LD_LIBRARY_PATH=./root@GFD:~/workspace/so_test# ./main===========hello world===========
转载于:https://blog.51cto.com/6306331/2067710