Win vscode 配置OpenGL时 undefined reference to `glfwInit‘

news/2024/11/14 7:20:36/

Win vscode 配置OpenGL时 undefined reference to `glfwInit'

  • Win vscode 配置OpenGL时 undefined reference to `glfwInit'
      • 现象
      • 原因
      • 解决方案

vscode_OpenGL_undefined_reference_to_glfwInit_2">Win vscode 配置OpenGL时 undefined reference to `glfwInit’

现象

win 上面用vscode 配置OpenGL 时会报一下错误

g++ -std=c++17 -Wall -Wextra -g -Iinclude -o output\main.exe src/main.o  -Llib -lglad -lglfw3
src/main.o: In function `main':
D:\workspace\c\2024\opengl/src/main.cpp:14: undefined reference to `glfwInit'
D:\workspace\c\2024\opengl/src/main.cpp:15: undefined reference to `glfwWindowHint'
D:\workspace\c\2024\opengl/src/main.cpp:16: undefined reference to `glfwWindowHint'
D:\workspace\c\2024\opengl/src/main.cpp:17: undefined reference to `glfwWindowHint'
D:\workspace\c\2024\opengl/src/main.cpp:19: undefined reference to `glfwCreateWindow'
D:\workspace\c\2024\opengl/src/main.cpp:23: undefined reference to `glfwTerminate'
D:\workspace\c\2024\opengl/src/main.cpp:26: undefined reference to `glfwMakeContextCurrent'
D:\workspace\c\2024\opengl/src/main.cpp:27: undefined reference to `glfwSetFramebufferSizeCallback'
D:\workspace\c\2024\opengl/src/main.cpp:29: undefined reference to `glfwGetProcAddress'
D:\workspace\c\2024\opengl/src/main.cpp:35: undefined reference to `glfwWindowShouldClose'
D:\workspace\c\2024\opengl/src/main.cpp:38: undefined reference to `glfwSwapBuffers'
D:\workspace\c\2024\opengl/src/main.cpp:39: undefined reference to `glfwPollEvents'
D:\workspace\c\2024\opengl/src/main.cpp:42: undefined reference to `glfwTerminate'
src/main.o: In function `Z12processInputP10GLFWwindow':
D:\workspace\c\2024\opengl/src/main.cpp:48: undefined reference to `glfwGetKey'
D:\workspace\c\2024\opengl/src/main.cpp:49: undefined reference to `glfwSetWindowShouldClose'
collect2.exe: error: ld returned 1 exit status
Makefile:78: recipe for target 'main.exe' failed
make: *** [main.exe] Error 1

原因

是因为vscode中使用了MinGWg++作为项目的编译器,和下载的预编译glfw-3.4.bin.WIN64\lib-mingw-w64中的libglfw3.a不兼容导致的。

解决方案

下载glfw源码,使用MinGW中的g++自己编译出来的libglfw3.a放进自己项目的 lib文件夹中


http://www.ppmy.cn/news/1546481.html

相关文章

rust模式和匹配

文章目录 match 分支参考 match 分支 所有结果都得匹配到 // Match Expressionfn main() {#[derive(Debug)]enum Language {English,Spanish,Russian,Japanese,}let language Language::English;match language {Language::English > println!("Hello World!")…

java ssm 个人学习管理系统 学习安排 学生在线学习管理 源码 jsp

一、项目简介 本项目是一套基于SSM的个人学习管理系统,主要针对计算机相关专业的和需要项目实战练习的Java学习者。 包含:项目源码、数据库脚本、软件工具等。 项目都经过严格调试,确保可以运行! 二、技术实现 ​后端技术&#x…

Vue中如何构建组件,支持传参、插槽等功能。

目录 1. 创建基本的Vue组件 2. 使用组件 3. 支持插槽 3.1 默认插槽 3.2 使用插槽 4. 作用域插槽 5. 使用作用域插槽 总结 在Vue.js中,组件是构建UI的基本单元,通过组件可以实现代码的复用和组织。以下是如何编写可复用的Vue组件的详细步骤&#…

vue3 + naive ui card header 和 title 冲突 bug

背景描述 最近发现一个 naive ui 上的问题,之前好好的,某一次升级后就出现了一个 bug,Modal 使用 card 布局后,Header Solt 下面的内容不见了,变成了 title,因为这个 solt 里面是有操作 action 的&#xf…

【DL】YOLO11 OBB目标检测 | 模型训练 | 推理

本文进行YOLO11的旋转目标检测任务,旋转目标检测能够更精确地定位和描述那些非水平排列的目标,比如倾斜的飞机、船舶等。在原始的目标检测中,添加一个角度预测,实现定向边界框检测。 话不多说,先来个效果图!!! YOLO11中的旋转目标检测的特点 ▲更精确的定位:通过使用…

[论文精读]SeqMIA: Sequential-Metric Based Membership Inference Attack

图像领域成员推理攻击 SeqMIA: Sequential-Metric Based Membership Inference Attack http://arxiv.org/abs/2407.15098 ACM CCS 2024 先看overview,猜测文章的方法:训练影子模型,使用影子模型、蒸馏数据集和目标模型共同参与蒸馏任务&am…

软考知识备忘

数据库设计 分布透明性指用户不必关心教据的逻辑分片,不必关心数据存储的物理位置分配细节,也不必关心局部场地上数据库的数据模型。 分片透明性是分布透明性的最高层次。 位置透明性指用户或应用程序应当了解分片情况,但不必了解片段的存储…

杨中科 .Net Core 笔记 DI 依赖注入2

ServiceCollection services new ServiceCollection();//定义一个承放服务的集合 services.AddScoped<iGetRole, GetRole>();using (ServiceProvider serviceProvider services.BuildServiceProvider()) {var list serviceProvider.GetServices(typeof(iGetRole));//获…