When writing a makefile on linux, I'm having trouble because I don't know how to link the following shared libraries.
【Thing you want to do】
[Executable file]-> [libA.so]-> [libB.so] dependency
I want to write -lB in the Makefile for creating libA.so, and write only -lA in the Makefile for creating the executable file side.
With the Makefile I'm writing, if you don't write -lA -lB in the Makefile to create the executable file, you will get a link error.
Would you please tell me if you have a simple Makefile sample?
I added -rpath as prompted by the ld error message and it passed.
all: exe exe: main.c liba.so gcc -o exe main.c -L. -la liba.so: a.c libb.so gcc -c -fPIC a.c gcc a.o -shared -o liba.so -L. -Wl,-rpath,. -lb libb.so: b.c gcc -c -fPIC b.c gcc b.o -shared -o libb.so clean: -rm -f exe liba.so libb.so
It is gcc 5.2.0, ld 2.25.1.