如果有人能帮我解决Makefile错误,我将不胜感激。我想将C ++应用程序编译到共享库中,并将编译后的对象*.o
文件放在./sobjs
目录中,如下所示。我按照几个例子来做这个,但是我仍然有问题要得到这个正确的编译和链接器。
生成文件:
OBJS = a1.o a2.o a3.o a4.o a5.o
objects = sobj/$(OBJS)
all: $(objects)
$(CXX) $(CXX_FLAGS) $(objects) -shared -o libname.so
$(objects) : | sobjs
sobjs:
@mkdir -p $@
sobjs/%.o: %.cpp
@echo $<
$(CXX) -fPIC -c -o $@ $< $(CXX_FLAGS) $(MY_FLAGS) $(INCLUDE_DIRS)
答案 0 :(得分:0)
objects = sobj/$(OBJS)
用这个
objects = $(patsubst %.o, sobjs/%.o,$(OBJS))
现在它将正确编译文件。