【发布时间】:2019-08-10 18:10:58
【问题描述】:
我有 makefile,我需要将两个对象链接到“主”对象中
它们是 -> oglinet.o 和 libshape.o
他们在系统中的路径 -> home/pi/openvg/
问题:我需要编写完整路径和对象名称(home/pi/openvg/libshapes.o)可以将它们“制作”为 Makefile 变量,例如 home/pi/openvg/libshape.o 到 $(OBJ1 ) 在 makefile 规则中?
试图将它们设为变量,例如 Obj1= /home/pi/openvg/oglinit.o 如果我编译编译器释放出来。
工作 Makefile
#NOT IDEAL MAKEFILE BUT WORKING!!!!!
INCLUDEFLAGS = -I/opt/vc/include -I/opt/vc/include/interface/vmcs_host/linux -I/opt/vc/include/interface/vcos/pthreads -I/home/pi/openvg
LIBFLAGS = -L/opt/vc/lib -lbrcmEGL -lbrcmGLESv2 -lbcm_host -lpthread -ljpeg
main:main.cpp
g++ -Wall $(INCLUDEFLAGS) -o main main.cpp $(LIBFLAGS) home/pi/openvg/libshapes.o /home/pi/openvg/oglinit.o
期望: 什么 libshape.o 和 oglinit.o 对象和系统中的路径被“存储”在某种变量/变量中 如果需要,我可以轻松地在 makefile 中进行更改 /
在 Chriss Dodd 的帮助下(不理想?)makefile 看起来像这样
INCLUDEFLAGS = -I/opt/vc/include -I/opt/vc/include/interface/vmcs_host/linux -I/opt/vc/include/interface/vcos/pthreads -I/home/pi/openvg
LIBFLAGS = -L/opt/vc/lib -lbrcmEGL -lbrcmGLESv2 -lbcm_host -lpthread -ljpeg
OPENVG=/home/pi/openvg
App: main.cpp $(OPENVG)/libshapes.o $(OPENVG)/oglinit.o
g++ -Wall -o $@ $^ $(LIBFLAGS) $(INCLUDEFLAGS)
【问题讨论】:
-
是否可以重新措辞您的帖子?我的朋友很难理解你想要什么帮助。
-
再试一次,在我的大脑中发现了发文逻辑的脉络///