c - 如何向 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?
解决方案
使用库时,使用-I
编译器标志告诉编译器在哪里可以找到包含文件(在你的情况下是包含GL
文件夹的路径)和-L
链接器标志告诉链接器在哪里可以找到库。
要与库链接,请使用-l
标志。库本身是一个lib*.a
文件(或lib*.dll.a
共享库)。对于-l
标志,指定的库没有前缀和后缀,所以如果你的库被调用libglew.a
,标志将是-lglew
.
也可以指定lib*.a
文件的完整路径而不是-L
和-l
标志,并且使用 MinGW,如果你有.dll
文件,你甚至可以尝试指定.dll
文件的路径,链接器会知道该怎么做。
推荐阅读
- ios - 如何使用 Swift 5 获取今天、明天和下周的日期
- javascript - 如何从 XML 内容中删除 Nodejs 中的标签?
- laravel - php artisan queue:处理redis队列中的作业时工作卡住了
- azure-runbook - powersell 运行手册到图形运行手册
- google-chrome - Chromedriver.exe 挂在 Intern.js 脚本 Chrome 76 /ChromeDriver 76.0.3809.25 的末尾
- javascript - 验证前端应用程序和后端 REST API
- python-3.x - 如何在 python 中的 Dataframe 上使用 StringIO 函数?
- html - 相同的 x 轴和 y 轴滚动条的不同样式
- sql-server - 是否有用于在 sql 过程中比较产品版本的优化代码?
- r - 将因子“MM/YY”转换为 R 中的日期 YYYY-MM-DD