diff --git a/Vimba_6_0/VimbaCPP/Examples/AsynchronousGrab/Qt/Build/Make/Makefile b/Vimba_6_0/VimbaCPP/Examples/AsynchronousGrab/Qt/Build/Make/Makefile index 5c2db9e..1ba896d 100644 --- a/Vimba_6_0/VimbaCPP/Examples/AsynchronousGrab/Qt/Build/Make/Makefile +++ b/Vimba_6_0/VimbaCPP/Examples/AsynchronousGrab/Qt/Build/Make/Makefile @@ -2,7 +2,7 @@ PROJECT_NAME = AsynchronousGrabQt PROJECT_DIR = ../.. EXAMPLES_DIR = $(PROJECT_DIR)/../.. -VIMBASDK_DIR = $(EXAMPLES_DIR)/../.. +VIMBASDK_DIR = $(EXAMPLES_DIR)/../.. MAKE_INCLUDE_DIR = $(CURDIR)/$(EXAMPLES_DIR)/Build/Make include $(MAKE_INCLUDE_DIR)/Common.mk @@ -13,47 +13,55 @@ BIN_DIR = binary/$(CONFIG_DIR) OBJ_DIR = object/$(CONFIG_DIR) BIN_PATH = $(BIN_DIR)/$(BIN_FILE) +# Qt 工具路径 +MOC = /usr/lib/aarch64-linux-gnu/qt5/bin/moc +UIC = /usr/lib/aarch64-linux-gnu/qt5/bin/uic +RCC = /usr/lib/aarch64-linux-gnu/qt5/bin/rcc + +# 使用 pkg-config 获取 Qt 编译标志 +QT_CFLAGS := $(shell pkg-config --cflags Qt5Core Qt5Gui Qt5Widgets) +QT_LIBS := $(shell pkg-config --libs Qt5Core Qt5Gui Qt5Widgets) + all: $(BIN_PATH) include $(MAKE_INCLUDE_DIR)/VimbaCPP.mk include $(MAKE_INCLUDE_DIR)/VimbaImageTransform.mk -include $(MAKE_INCLUDE_DIR)/Qt.mk SOURCE_DIR = $(PROJECT_DIR)/Source INCLUDE_DIRS = -I$(SOURCE_DIR) \ - -I$(EXAMPLES_DIR) \ - -I$(OBJ_DIR) + -I$(EXAMPLES_DIR) \ + -I$(OBJ_DIR) \ + -I/usr/include/aarch64-linux-gnu/qt5 \ + -I/usr/include/aarch64-linux-gnu/qt5/QtCore \ + -I/usr/include/aarch64-linux-gnu/qt5/QtGui \ + -I/usr/include/aarch64-linux-gnu/qt5/QtWidgets LIBS = $(VIMBACPP_LIBS) \ $(VIMBAIMAGETRANSFORM_LIBS) \ - $(QTCORE_LIBS) \ - $(QTGUI_LIBS) + $(QT_LIBS) DEFINES = CFLAGS = $(COMMON_CFLAGS) \ $(VIMBACPP_CFLAGS) \ $(VIMBAIMAGETRANSFORM_CFLAGS) \ - $(QTCORE_CFLAGS) \ - $(QTGUI_CFLAGS) + $(QT_CFLAGS) OBJ_FILES = $(OBJ_DIR)/ApiController.o \ - $(OBJ_DIR)/AsynchronousGrab.o \ - $(OBJ_DIR)/CameraObserver.o \ - $(OBJ_DIR)/FrameObserver.o \ - $(OBJ_DIR)/main.o \ - $(OBJ_DIR)/moc_AsynchronousGrab.o \ - $(OBJ_DIR)/moc_CameraObserver.o \ - $(OBJ_DIR)/moc_FrameObserver.o \ - $(OBJ_DIR)/qrc_AsynchronousGrab.o + $(OBJ_DIR)/AsynchronousGrab.o \ + $(OBJ_DIR)/CameraObserver.o \ + $(OBJ_DIR)/FrameObserver.o \ + $(OBJ_DIR)/main.o \ + $(OBJ_DIR)/moc_AsynchronousGrab.o \ + $(OBJ_DIR)/moc_CameraObserver.o \ + $(OBJ_DIR)/moc_FrameObserver.o \ + $(OBJ_DIR)/qrc_AsynchronousGrab.o -GEN_HEADERS = $(OBJ_DIR)/ui_AsynchronousGrab.h +GEN_HEADERS = $(OBJ_DIR)/ui_AsynchronousGrab.h DEPENDENCIES = VimbaCPP \ - VimbaImageTransform \ - QtCore \ - QtGui + VimbaImageTransform $(OBJ_DIR)/moc_%.cpp: $(SOURCE_DIR)/%.h $(OBJ_DIR) $(MOC) -o $@ $< @@ -81,4 +89,6 @@ $(OBJ_DIR): $(MKDIR) -p $(OBJ_DIR) $(BIN_DIR): - $(MKDIR) -p $(BIN_DIR) \ No newline at end of file + $(MKDIR) -p $(BIN_DIR) + +.PHONY: all clean diff --git a/Vimba_6_0/VimbaCPP/Examples/AsynchronousGrab/Qt/Build/Make/Makefile (1) b/Vimba_6_0/VimbaCPP/Examples/AsynchronousGrab/Qt/Build/Make/Makefile (1) new file mode 100644 index 0000000..1ba896d --- /dev/null +++ b/Vimba_6_0/VimbaCPP/Examples/AsynchronousGrab/Qt/Build/Make/Makefile (1) @@ -0,0 +1,94 @@ +PROJECT_NAME = AsynchronousGrabQt + +PROJECT_DIR = ../.. +EXAMPLES_DIR = $(PROJECT_DIR)/../.. +VIMBASDK_DIR = $(EXAMPLES_DIR)/../.. +MAKE_INCLUDE_DIR = $(CURDIR)/$(EXAMPLES_DIR)/Build/Make + +include $(MAKE_INCLUDE_DIR)/Common.mk + +CONFIG_DIR = $(ARCH)_$(WORDSIZE)bit +BIN_FILE = $(PROJECT_NAME) +BIN_DIR = binary/$(CONFIG_DIR) +OBJ_DIR = object/$(CONFIG_DIR) +BIN_PATH = $(BIN_DIR)/$(BIN_FILE) + +# Qt 工具路径 +MOC = /usr/lib/aarch64-linux-gnu/qt5/bin/moc +UIC = /usr/lib/aarch64-linux-gnu/qt5/bin/uic +RCC = /usr/lib/aarch64-linux-gnu/qt5/bin/rcc + +# 使用 pkg-config 获取 Qt 编译标志 +QT_CFLAGS := $(shell pkg-config --cflags Qt5Core Qt5Gui Qt5Widgets) +QT_LIBS := $(shell pkg-config --libs Qt5Core Qt5Gui Qt5Widgets) + +all: $(BIN_PATH) + +include $(MAKE_INCLUDE_DIR)/VimbaCPP.mk +include $(MAKE_INCLUDE_DIR)/VimbaImageTransform.mk + +SOURCE_DIR = $(PROJECT_DIR)/Source + +INCLUDE_DIRS = -I$(SOURCE_DIR) \ + -I$(EXAMPLES_DIR) \ + -I$(OBJ_DIR) \ + -I/usr/include/aarch64-linux-gnu/qt5 \ + -I/usr/include/aarch64-linux-gnu/qt5/QtCore \ + -I/usr/include/aarch64-linux-gnu/qt5/QtGui \ + -I/usr/include/aarch64-linux-gnu/qt5/QtWidgets + +LIBS = $(VIMBACPP_LIBS) \ + $(VIMBAIMAGETRANSFORM_LIBS) \ + $(QT_LIBS) + +DEFINES = + +CFLAGS = $(COMMON_CFLAGS) \ + $(VIMBACPP_CFLAGS) \ + $(VIMBAIMAGETRANSFORM_CFLAGS) \ + $(QT_CFLAGS) + +OBJ_FILES = $(OBJ_DIR)/ApiController.o \ + $(OBJ_DIR)/AsynchronousGrab.o \ + $(OBJ_DIR)/CameraObserver.o \ + $(OBJ_DIR)/FrameObserver.o \ + $(OBJ_DIR)/main.o \ + $(OBJ_DIR)/moc_AsynchronousGrab.o \ + $(OBJ_DIR)/moc_CameraObserver.o \ + $(OBJ_DIR)/moc_FrameObserver.o \ + $(OBJ_DIR)/qrc_AsynchronousGrab.o + +GEN_HEADERS = $(OBJ_DIR)/ui_AsynchronousGrab.h + +DEPENDENCIES = VimbaCPP \ + VimbaImageTransform + +$(OBJ_DIR)/moc_%.cpp: $(SOURCE_DIR)/%.h $(OBJ_DIR) + $(MOC) -o $@ $< + +$(OBJ_DIR)/ui_%.h: $(SOURCE_DIR)/res/%.ui $(OBJ_DIR) + $(UIC) -o $@ $< + +$(OBJ_DIR)/qrc_%.cpp: $(SOURCE_DIR)/res/%.qrc $(OBJ_DIR) + $(RCC) -o $@ $< + +$(OBJ_DIR)/%.o: $(SOURCE_DIR)/%.cpp $(OBJ_DIR) $(GEN_HEADERS) + $(CXX) -c $(INCLUDE_DIRS) $(DEFINES) $(CFLAGS) -o $@ $< + +$(OBJ_DIR)/%.o: $(OBJ_DIR)/%.cpp $(OBJ_DIR) $(GEN_HEADERS) + $(CXX) -c $(INCLUDE_DIRS) $(DEFINES) $(CFLAGS) -o $@ $< + +$(BIN_PATH): $(DEPENDENCIES) $(OBJ_FILES) $(BIN_DIR) + $(CXX) $(ARCH_CFLAGS) -o $(BIN_PATH) $(OBJ_FILES) $(LIBS) -Wl,-rpath,'$$ORIGIN' + +clean: + $(RM) binary -r -f + $(RM) object -r -f + +$(OBJ_DIR): + $(MKDIR) -p $(OBJ_DIR) + +$(BIN_DIR): + $(MKDIR) -p $(BIN_DIR) + +.PHONY: all clean