我是一名有用的助手,可以为您翻译文本。
我有一个库libmya.so和一个库libmyb.so。在libmyb.so中的函数依赖于libmya.so中的函数。此外,我有一个可执行文件myexe,它依赖于libmyb.so。当我制作这些库时,应该在哪些规则中放置-l选项?
是应该选择1):
或者2)
还是其他组合?
我有一个库libmya.so和一个库libmyb.so。在libmyb.so中的函数依赖于libmya.so中的函数。此外,我有一个可执行文件myexe,它依赖于libmyb.so。当我制作这些库时,应该在哪些规则中放置-l选项?
是应该选择1):
libmya.so: $(OBJ_FILES)
$(CPP) $(LDFLAGS) -o $@ $^
libmyb.so: $(OBJ_FILES)
$(CPP) $(LDFLAGS) $(LIBS) -o $@ $^ -lmya
myexe: $(OBJ_FILES)
$(CPP) $(LDFLAGS) $(LIBS) -o $@ $^ -lmyb
或者2)
libmya.so: $(OBJ_FILES)
$(CPP) $(LDFLAGS) -o $@ $^
libmyb.so: $(OBJ_FILES)
$(CPP) $(LDFLAGS) $(LIBS) -o $@ $^
myexe: $(OBJ_FILES)
$(CPP) $(LDFLAGS) $(LIBS) -o $@ $^ -lmya -lmyb
还是其他组合?