プロジェクトに .so ライブラリを追加しようとしていますが、メイクファイルに関する知識が非常に限られているため、残念ながらチュートリアルを理解できません...
これが私のプロジェクトの構造です:
/project
ex1.c
ex1.h
ex1_client.c
ex1_client.h
/lib
libmylib.so
2 つの実行可能ファイルである ex1 と ex1_client で mylib を使用する必要がありますが、makefile に含めることができません (.c ファイルに含める方法がわからない可能性があると考えています...)
私のメイクファイルは次のとおりです。
CC= gcc
CFLAGS= -Wall -pedantic -std=c99 -pthread
RM= rm -f
LFLAGS= -L./lib
LIBS= -lmylib
#Don't know if the following is necessary
LD_LIBRARY_PATH= ./lib
all: ex1 ex1_client
ex1: ex1.o
$(CC) $(CFLAGS) -o ex1 ex1.o $(LFLAGS) $(LIBS)
ex1_client: ex1_client.o
$(CC) $(CFLAGS) -o ex1_client ex1_client.o $(LFLAGS) $(LIBS)
ex1.o: ex1.c ex1.h
$(CC) $(CFLAGS) -c ex1.c ex1.h
ex1_client.o: ex1_client.c ex1_client.h
$(CC) $(CFLAGS) -c ex1_client.c ex1_client.h
clean:
$(RM) *.o ex1 ex1_client *~
動作しません - mylib がどこにあるかわからないようです。
それに加えて、.c ファイルに mylib について何も書きませんでした... つまり、#include はありません。おそらくすべての問題の1つです。
ライブラリとメイクファイルに関する説明は、私には理解するのが本当に難しいようです...そして、若いフランス人開発者の学校で学んだ英語を許してください;)