我正在使用hzeller的LED库,这是我发现的make文件之一:
CXXFLAGS=-Wall -O3 -g -Wextra -Wno-unused-parameter
OBJECTS=MP_Display.o
BINARIES=MP_Display
# RGB_LIB_DISTRIBUTION, this is where the library is checked out.
RGB_LIB_DISTRIBUTION=rpi-rgb-led-matrix
RGB_INCDIR=$(RGB_LIB_DISTRIBUTION)/include
RGB_LIBDIR=$(RGB_LIB_DISTRIBUTION)/lib
RGB_LIBRARY_NAME=rgbmatrix
RGB_LIBRARY=$(RGB_LIBDIR)/lib$(RGB_LIBRARY_NAME).a
LDFLAGS+=-L$(RGB_LIBDIR) -l$(RGB_LIBRARY_NAME) -lrt -lm -lpthread -lcurl
all : $(BINARIES)
$(RGB_LIBRARY): FORCE
$(MAKE) -C $(RGB_LIBDIR)
Metrici_MP_Display: Metrici_MP_Display.o $(RGB_LIBRARY)
$(CXX) $(CXXFLAGS) Metrici_MP_Display.o -o $@ $(LDFLAGS) $(MAGICK_LDFLAGS)
%.o : %.cc
$(CXX) -I$(RGB_INCDIR) $(CXXFLAGS) -c -o $@ $<
Metrici_MP_Display.o : Metrici_MP_Display.cc
$(CXX) -I$(RGB_INCDIR) $(CXXFLAGS) $(MAGICK_CXXFLAGS) -c -o $@ $<
clean:
rm -f $(OBJECTS) $(BINARIES) $(OPTIONAL_OBJECTS) $(OPTIONAL_BINARIES)
FORCE:
.PHONY: FORCE
为什么我需要使用sudo make all
而不是make all
来编译代码?
我希望生成的文件不归root所有。
答案 0 :(得分:1)
可能是因为您曾经以sudo make ...
的身份运行过它,并且它创建了一些属于root
的文件和目录。现在,没有sudo
,您将无法覆盖或删除它们。
在项目目录中运行sudo chown --recursive <your user>.<your group> *
。