[問題] Makefile入門使用在linux環境
開發平台(Platform): (Ex: Win10, Linux, ...)
Linux Ubuntu 16.04
編譯器(Ex: GCC, clang, VC++...)+目標環境(跟開發平台不同的話需列出)
Terminal & QT
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
廠商相機驅動程式
問題(Question):
目前拿到廠商提供的相機資料,欲執行範例程式,想要問兩個問題
檔案包如圖
https://imgur.com/a/ZD6EgUe
(1)在Terminal中,要下何種指令,可以執行Makefile程式去執行
測試Make指令也失敗
(2)在QT要使用,怎麼確認Makefile檔案,
是.h跟.so檔案,是要將所有LIB路徑都包括
還是要怎測試
餵入的資料(Input):
nvidia@tegra-ubuntu:/usr/src/spinnaker/src/Acquisition$ make
預期的正確結果(Expected Output):
錯誤結果(Wrong Output):
mkdir: cannot create directory 'obj/build' Permission denied
Makefile:55: recipe for target '.obj/build/Acquisition.o' failed
make: *** [.obj/build/Acquisition.o] Error 1
程式碼(Code):(請善用置底文網頁, 記得排版,禁止使用圖檔)
Makefile
################################################################################
# Acquisition Makefile
################################################################################
PROJECT_ROOT=../../
OPT_INC = ${PROJECT_ROOT}/common/make/common_spin.mk
-include ${OPT_INC}
################################################################################
# Key paths and settings
################################################################################
CFLAGS += -std=c++11
ifeq ($(wildcard ${OPT_INC}),)
CXX = g++ ${CFLAGS}
ODIR = .obj/build${D}
SDIR = .
MKDIR = mkdir -p
PLATFORM = $(shell uname)
ifeq ($(PLATFORM),Darwin)
OS = mac
endif
endif
OUTPUTNAME = Acquisition${D}
OUTDIR = ../../bin
################################################################################
# Dependencies
################################################################################
# Spinnaker deps
SPINNAKER_LIB = -L../../lib -lSpinnaker${D} ${SPIN_DEPS}
################################################################################
# Master inc/lib/obj/dep settings
################################################################################
_OBJ = Acquisition.o
OBJ = $(patsubst %,$(ODIR)/%,$(_OBJ))
INC = -I../../include -I/usr/include/spinnaker
ifneq ($(OS),mac)
LIB += -Wl,-Bdynamic ${SPINNAKER_LIB}
LIB += -Wl,-rpath-link=../../lib
else
LIB += -rpath ../../lib/
LIB += ${SPINNAKER_LIB}
endif
################################################################################
# Rules/recipes
################################################################################
# Final binary
${OUTPUTNAME}: ${OBJ}
${CXX} -o ${OUTPUTNAME} ${OBJ} ${LIB}
mv ${OUTPUTNAME} ${OUTDIR}
# Intermediate object files
${OBJ}: ${ODIR}/%.o : ${SDIR}/%.cpp
@${MKDIR} ${ODIR}
${CXX} ${CFLAGS} ${INC} -Wall -D LINUX -c $< -o $@
# Clean up intermediate objects
clean_obj:
rm -f ${OBJ}
@echo "intermediate objects cleaned up!"
# Clean up everything.
clean: clean_obj
rm -f ${OUTDIR}/${OUTPUTNAME}
@echo "all cleaned up!"
補充說明(Supplement):
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 122.117.38.5
※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1558666546.A.705.html
推
05/24 11:42,
6年前
, 1F
05/24 11:42, 1F
→
05/24 11:43,
6年前
, 2F
05/24 11:43, 2F
→
05/24 11:44,
6年前
, 3F
05/24 11:44, 3F
推
05/24 13:04,
6年前
, 4F
05/24 13:04, 4F
→
05/24 14:24,
6年前
, 5F
05/24 14:24, 5F
推
05/26 21:44,
6年前
, 6F
05/26 21:44, 6F
→
05/29 00:00,
6年前
, 7F
05/29 00:00, 7F
推
05/29 15:25,
6年前
, 8F
05/29 15:25, 8F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章