我编写了一个显示简单四边形的小型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
但现在我想与我自己的librairies资源文件建立联系。 这是我的项目目录的内容:
main.cpp
Makefile
Outbuilding/GL/include/glut.h
Outbuilding/GL/lib/glut32.lib
我在main.cpp中的include声明
#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
有人可以帮助我吗?
答案 0 :(得分:0)
您的 glut.h 文件位于错误的文件夹中。
通常 glut.h 是 gl 文件夹,可以是项目的全局或本地文件夹。
只需在 Outbuilding / GL / include / 中创建一个名为* gl8的文件夹,然后将 glut.h 移入其中。