Mingw w64 的链接器在搜索 -lglut32 new 时跳过不兼容
Mingw w64's linker skipping incompatible when searching for -lglut32 new
我正在尝试用 mingw w64
编译这个简单的 C/OpenGL 程序
#include <GL/glut.h>
void display()
{
glClear(GL_COLOR_BUFFER_BIT);
glColor3f(1,0,0);
glBegin(GL_POLYGON);
glVertex2f(100,300);
glVertex2f(100,100);
glVertex2f(200,100);
glVertex2f(200,300);
glEnd();
glFlush();
glutSwapBuffers();
}
int main(int argc, char** argv)
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGBA);
glutInitWindowSize(640,640);
glutCreateWindow("OpenGL");
glutDisplayFunc(display);
gluOrtho2D(0,640,0,640);
glClearColor(0.5,0.7,0.5,0);
glutMainLoop();
return 0;
}
我已经下载了 glut.h、libglut32.a 和 glut32.dll,并将它们放在正确的路径中。
特别是我把 glut32.dll 放在 C:\windows\SysWOW64 文件夹中,但是当我尝试用这个编译时:
gcc -o test test.c -lglu32 -lopengl32 -lglut32
但它给了我一堆错误,所以我只尝试 linking glu32 和 opengl32 并且它工作正常,但是当我 link glut32 它给了我这个:
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/lib/../lib/libglut32.a when searching for -lglut32
我试着搜索可能是什么问题,我发现这是一个体系结构问题,因为 glut32.dll 是一个 32 位库,但我找不到 glut64.dll 库,我不知道怎么办。
有什么建议吗?
编辑:
我设法解决了我的问题,我在互联网上查找 glut32.lib 和 glut64.lib 并将它们放在 lib 文件夹中(它们在我下载的 glutming 存档中丢失了)并下载了 glut64.dll来自互联网,现在一切正常。
谢谢大家
我设法解决了我的问题,我在互联网上查找 glut32.lib 和 glut64.lib 并将它们放在 lib 文件夹中(它们在我下载的 glutming 存档中丢失了)并下载了glut64.dll 来自互联网,现在一切正常。
我正在尝试用 mingw w64
编译这个简单的 C/OpenGL 程序#include <GL/glut.h>
void display()
{
glClear(GL_COLOR_BUFFER_BIT);
glColor3f(1,0,0);
glBegin(GL_POLYGON);
glVertex2f(100,300);
glVertex2f(100,100);
glVertex2f(200,100);
glVertex2f(200,300);
glEnd();
glFlush();
glutSwapBuffers();
}
int main(int argc, char** argv)
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGBA);
glutInitWindowSize(640,640);
glutCreateWindow("OpenGL");
glutDisplayFunc(display);
gluOrtho2D(0,640,0,640);
glClearColor(0.5,0.7,0.5,0);
glutMainLoop();
return 0;
}
我已经下载了 glut.h、libglut32.a 和 glut32.dll,并将它们放在正确的路径中。 特别是我把 glut32.dll 放在 C:\windows\SysWOW64 文件夹中,但是当我尝试用这个编译时:
gcc -o test test.c -lglu32 -lopengl32 -lglut32
但它给了我一堆错误,所以我只尝试 linking glu32 和 opengl32 并且它工作正常,但是当我 link glut32 它给了我这个:
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/lib/../lib/libglut32.a when searching for -lglut32
我试着搜索可能是什么问题,我发现这是一个体系结构问题,因为 glut32.dll 是一个 32 位库,但我找不到 glut64.dll 库,我不知道怎么办。
有什么建议吗?
编辑: 我设法解决了我的问题,我在互联网上查找 glut32.lib 和 glut64.lib 并将它们放在 lib 文件夹中(它们在我下载的 glutming 存档中丢失了)并下载了 glut64.dll来自互联网,现在一切正常。
谢谢大家
我设法解决了我的问题,我在互联网上查找 glut32.lib 和 glut64.lib 并将它们放在 lib 文件夹中(它们在我下载的 glutming 存档中丢失了)并下载了glut64.dll 来自互联网,现在一切正常。