我有两个makefile,但是,我想在Ubuntu中编译一个程序(test.cpp)的理想情况下有两个。
首先(用于Basler Pylon5相机SDK):
# Makefile for Basler pylon sample program
.PHONY: all clean
# The program to build
NAME := test
# Installation directories for pylon
PYLON_ROOT ?= /opt/pylon5
# Build tools and flags
LD := $(CXX)
CPPFLAGS := $(shell $(PYLON_ROOT)/bin/pylon-config --cflags)
CXXFLAGS := #e.g., CXXFLAGS=-g -O0 for debugging
LDFLAGS := $(shell $(PYLON_ROOT)/bin/pylon-config --libs-rpath)
LDLIBS := $(shell $(PYLON_ROOT)/bin/pylon-config --libs)
# Rules for building
all: $(NAME)
$(NAME): $(NAME).o
$(LD) $(LDFLAGS) -o $@ $^ $(LDLIBS)
$(NAME).o: $(NAME).cpp
$(CXX) $(CPPFLAGS) $(CXXFLAGS) -c -o $@ $<
clean:
$(RM) $(NAME).o $(NAME)
第二个(用于OpenCV):
# The program to build
NAME := test
CFLAGS = `pkg-config --cflags opencv`
LIBS = `pkg-config --libs opencv`
$(NAME) : $(NAME).cpp
g++ -o $@ $< $(CFLAGS) $(LIBS)
这可能吗?我是一个非常新的makefiles,我只是想用相机捕捉和处理一些图像。任何帮助表示赞赏。感谢。
答案 0 :(得分:0)
这可能吗?
没有通用解决方案。另一方面,第二个Makefile是这两行的纯包装器:
CFLAGS = `pkg-config --cflags opencv`
LIBS = `pkg-config --libs opencv`
您需要做的就是将两行集成到第一个Makefile中。例如,类似于您已经拥有的pylon-config
,请在all:
之前添加
CXXFLAGS += $(shell pkg-config --cflags opencv)
LDLIBS += $(shell pkg-config --libs opencv)
应该照顾它。