C++ 为什么这段代码会出现多个定义错误?
我有以下计划,我所拥有的是:C++ 为什么这段代码会出现多个定义错误?,c++,opengl,linker,glfw,C++,Opengl,Linker,Glfw,我有以下计划,我所拥有的是: #include <GL/glfw3.h> int main() { glfwInit(); glfwWindowHint(GLFW_OPENGL_FORWARD_COMPAT, GL_TRUE); glfwTerminate(); } 我从错误中提取了很多行,但是他们都说这些函数首先在libglfw.a中定义,然后多重定义来自libglfw3.a。是的,这两个文件都在我的MinGW/lib文件夹中,但我不明白它们
#include <GL/glfw3.h>
int main()
{
glfwInit();
glfwWindowHint(GLFW_OPENGL_FORWARD_COMPAT, GL_TRUE);
glfwTerminate();
}
我从错误中提取了很多行,但是他们都说这些函数首先在libglfw.a
中定义,然后多重定义来自libglfw3.a
。是的,这两个文件都在我的MinGW/lib
文件夹中,但我不明白它们为什么会相互冲突。为什么会发生这种情况?我如何修复它
我正在联系:
mingw32-g++.exe ... -lglfw -lopengl32 -lglu32 -lgdi32 -lglfw3
共享用于调用编译器的命令您应该只链接到其中一个库,而不是两个库。@AnthonyVallée-Dubois我更新了我的问题。@Appleshell我使用的是代码块。我将全局编译器设置设置为同时链接到
glfw
和glfw3
,现在我不知道如何撤消它:(@templateboy
mingw32-g++.exe ... -lglfw -lopengl32 -lglu32 -lgdi32 -lglfw3