Code: Select all
abcd
├── a
│ ├── lib.cpp
│ ├── lib.o
│ └── liba.so
├── b
│ ├── lib.cpp
│ ├── lib.o
│ └── libb.so
├── c
│ ├── lib.cpp
│ ├── lib.o
│ └── libc.so
└── d
├── lib.cpp
├── lib.o
└── libd.so
Code: Select all
liba.soCode: Select all
gcc -c -Wall -fPIC lib.cpp
gcc -shared -o liba.so lib.o
Code: Select all
libb.soCode: Select all
gcc -c -Wall -fPIC lib.cpp
gcc -shared -o libb.so lib.o -L../a -la
Code: Select all
libc.soCode: Select all
gcc -c -Wall -fPIC lib.cpp
gcc -shared -o libc.so lib.o -L../b -Wl,-rpath-link=$(pwd)../a -lb
Code: Select all
libd.soCode: Select all
gcc -c -Wall -fPIC lib.cpp
Code: Select all
gcc -shared -o libd.so lib.o -L../c -Wl,-rpath-link=$(pwd)../b -Wl,-rpath-link=$(pwd)../a -lc
Code: Select all
gcc -shared -o libd.so lib.o -L../c -Wl,-rpath-link=$(pwd)../b -lc
Mobile version