我编写了一个显示简单四边形的小型 OpenGL 程序。为了完成这项工作,我在我的 Makefile 中链接了 -lglut。直到这里一切都好。
这是我的 Makefile 内容:
NAME = Quad
CXX = g++
SRCS = main.cpp
OBJS = $(SRCS:.cpp=.o)
CXXFLAGS += -W -Werror -Wextra
LIBX += -lglut
RM = rm -f
all : $(NAME)
$(NAME) : $(OBJS)
$(CXX) -o $(NAME) $(OBJS) $(LIBX)
clean :
find . \( -name "*.o" -o -name "*~" -o -name "#*#" \) -exec $(RM) {} \;
fclean : clean
$(RM) $(NAME)
re : fclean all
.PHONY : all \
clean \
fclean \
re
但现在我想与我自己的库资源文件建立联系。这是我的项目目录的内容:
main.cpp
Makefile
Outbuilding/GL/include/glut.h
Outbuilding/GL/lib/glut32.lib
我在 main.cpp 中的包含声明
#include "gl/glut.h"
我试图编辑以下 Makefile 但它不起作用(找不到文件 gl/glut.h):
NAME = Quad
CXX = g++
SRCS = main.cpp
OBJS = $(SRCS:.cpp=.o)
CXXFLAGS += -W -Werror -Wextra
INCLUDE += -I./Outbuilding/GL/include -L./Outbuilding/GL/lib
LIBX += -lglut
RM = rm -f
all : $(NAME)
$(NAME) : $(OBJS)
$(CXX) -o $(NAME) $(OBJS) $(INCLUDE) $(LIBX)
clean :
find . \( -name "*.o" -o -name "*~" -o -name "#*#" \) -exec $(RM) {} \;
fclean : clean
$(RM) $(NAME)
re : fclean all
.PHONY : all \
clean \
fclean \
re
我还尝试在我的源文件中直接链接 glut.h (#include "./Outbuilding/GL/include/gl/glut.h") 但我有以下错误:
error : "APIENTRY" redefined
有人可以帮助我吗?