//test_so.h
#include <stdio.h>
void test_a();
void test_b();
//test_a.c
#include "so_test.h"
void test_a()
{
printf("this is in test_a...\n");
}
//test_b.c
#include "so_test.h"
void test_b()
{
printf("this is in test_b...\n");
}
//test.c
#include "so_test.h"
int main()
{
test_a();
test_b();
return 0;
}
编译步骤
gcc test_a.c test_b.c -fPIC -shared -o libtest.so
gcc test.c -L. -ltest -o test
./test
解决链接库问题:
#vim /etc/profile
LD_LIBRARY_PATH=/mnt/hgfs/Ubuntu_shared/so:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH
# source /etc/profile