首页 > 解决方案 > 如何向 mingw-w64 添加自定义库(例如 glew)?

问题描述

我正在使用 Windows,我的目标是将 glew 库 ( http://glew.sourceforge.net/index.html ) 添加到 mingw。我已经通过 GitHub ( https://github.com/mstorsjo/llvm-mingw/releases/tag/20210423 ) 下载了 mingw-w64。它带有一个“bin”、“lib”和“include”文件夹。在“bin”文件夹中,我执行“make”来执行包含该行的项目的 makefile

LDLIBS=-lm -lGL -lGLEW -lglfw

我已将“glew32.lib”复制到“mingw/lib”、“GL/glew.h”和“GL/wglew.h”复制到“mingw/include/GL”和“bin/glew32.dll”复制到“mingw/斌”。

在我的源代码中,我已经包含了头文件

#include <GL/glew.h>

当我做“make”时,我在该行得到一个错误:

GL/glew.h: No such file or directory

如何将 glew 等自定义库添加到 mingw?

标签: cmingwmingw-w64glew

解决方案


使用库时,使用-I编译器标志告诉编译器在哪里可以找到包含文件(在你的情况下是包含GL文件夹的路径)和-L链接器标志告诉链接器在哪里可以找到库。

要与库链接,请使用-l标志。库本身是一个lib*.a文件(或lib*.dll.a共享库)。对于-l标志,指定的库没有前缀和后缀,所以如果你的库被调用libglew.a,标志将是-lglew.

也可以指定lib*.a文件的完整路径而不是-L-l标志,并且使用 MinGW,如果你有.dll文件,你甚至可以尝试指定.dll文件的路径,链接器会知道该怎么做。


推荐阅读