linux - GLFW 链接,未定义对 init 的引用
问题描述
所以我正在尝试编译一个简单的 GLFW 窗口应用程序,但遇到了链接器问题。
gcc -o bin/mtx_gui `pkg-config --libs glfw3 glew` src/main.c
我使用这个命令来编译单个 main。pkg-config 扩展为-L/usr/local/lib -lglfw3 -lGLEW -lGLU -lGL
应该编译所有内容的内容。我检查了所有库都在他们应该在的地方。不知道为什么它没有链接它
main.c:(.text.startup+0x2): undefined reference to `glfwInit'
解决方案
首先,正如 GM 在评论中指出的那样,main.c 位于所有库之前。第二也是最重要的。
-lglfw3 -lrt -lm -ldl -lpthread -lGL
Libpthread 也必须链接,如果您打算使用 opengl 链接 Libgl,如上所示。
推荐阅读
- java - 无法执行目标 org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile:无效的目标版本:11
- node.js - 将 Spotify Link(或任何音乐流媒体服务链接)转换为另一个流媒体服务链接(例如 Apple Music、Amazon、Tidal、SoundCloud、Youtube)?
- graphviz - graphviz中的节点顺序
- javascript - 上传大文件 (~1 GB) 时 XMLHttpRequest 流崩溃
- angular - 使用密码保护 Angular 应用程序
- package - Spyder 无法识别软件包的 pip 安装(Networkx)
- r - 我可以删除旧版本 R 的文件夹吗?
- python - 让我的机器人使用操纵杆模块从控制器上运行,但出现视频系统未初始化错误。有什么建议么?
- python - Instagrapi:请等待几分钟,然后再试一次。为什么?
- json - C++ 如何将数据从 exe 传输到 dll?