【发布时间】:2021-01-25 10:50:00
【问题描述】:
这是我的 Makefile:
FREETYPE=/usr/include/freetype2
CC = c++
CXXFLAGS = -Wall -Wextra -Ofast -std=gnu++20 -Iinclude -I${FREETYPE}
LDLIBS = -lfreetype -lGLEW -lglfw -lGL
rundemo: demo
./demo
demo: LDFLAGS += -L.
demo: LDLIBS += -lx
demo: demo.o shared
objects = x.o
shared: CXXFLAGS += -shared -fPIC
shared: $(objects)
x.o : include/x/x.h
输出:
c++ -L. demo.o shared -lfreetype -lGLEW -lglfw -lGL -lgllabel -o demo
c++: error: shared: No such file or directory
似乎 make 认为 shared 是隐式规则的文件,而不是目标。我该如何解决这个问题?
【问题讨论】:
-
提问时,除了错误消息外,请显示您运行的命令和调用的编译器命令。我真的不明白您的makefile 打算做什么,但我无法将您遇到的错误映射到您提供的makefile,即兴发挥。那是你的makefile的全部吗?还是只是其中的一部分?