我想从命令提示符编译C源文件,该文件使用openGL绘制三角形。我安装了gcc编译器。我想编译和执行的源文件绑定了一个名为 Makefile.win32 文件的文件。
在我的计算机 F:驱动器中有一个名为 opengl_codes 的文件夹。在该文件夹中有一堆文件和两个名为 hello_triangle 和常见的文件夹。
在 hello_triangle 文件夹中,我有以下文件: main.c 和 Makefile.win32 。
我在互联网上阅读了一些关于Makefile的教程,发现编译并执行c源文件我必须这样做: -
1.首先在包含目录的命令提示符下执行make -f Makefile.win32
2.然后编译源文件。即gcc -o main.exe main.c
但是当我执行第一个命令,即make -f Makefile.win32
时,我收到此错误: -
gcc -Wall -pedantic -o hellot.exe main.c -I ../common/include ../common/win32/libglew32.dll.a ../common/win32/glfw3dll.a -lOpenGL32 -L ./ -lglew32 -lglfw3 -lm
c:/mingw/bin/../lib/gcc/mingw32/4.8.1/../../../../mingw32/bin/ld.exe: cannot find -lglew32
c:/mingw/bin/../lib/gcc/mingw32/4.8.1/../../../../mingw32/bin/ld.exe: cannot find -lglfw3
collect2.exe: error: ld returned 1 exit status
make: *** [all] Error 1
我不明白导致此错误的原因。
Makefile: -
BIN = hellot.exe
CC = gcc
FLAGS = -Wall -pedantic
INC = -I ../common/include
LOC_LIB = ../common/win32/libglew32.dll.a ../common/win32/glfw3dll.a
SYS_LIB = -lOpenGL32 -L ./ -lglew32 -lglfw3 -lm
SRC = main.c
all:
${CC} ${FLAGS} -o ${BIN} ${SRC} ${INC} ${LOC_LIB} ${SYS_LIB}