glut32.lib : warning LNK4272: 库计算机类型“x86”与目标计算机类型“x64”冲突

先说结论:使用的库是32位的而写的代码目标机器是64位的,所以报错产生冲突

 

自己因为太蠢遇到的坑,焦头烂额搞了很久,记录一下,防止将来再掉进去(万一有和我一样掉进来的,希望能帮到你

 

都是OPENGL,freeglut不是glut

 

最近写代码半路突然要用到openGL,正好之前安装了glut,省了再安装配置了,冲冲冲。直接去前面写过的openGL程序里复制粘贴复制粘贴,运行时候蹦出来:

 

"XXX\Visual Studio2017\VC\Tools\MSVC\14.16.27023\lib\x64\glut32.lib : warning LNK4272: 库计算机类型“x86”与目标计算机类型“x64”冲突",代码中的所有GLUT函数都是无法识别的外部指令

 

直接懵了,去网上查吧,找到一个类似的但也没能解决我的问题,大部分是“模块计算机类型x64与目标计算机类型x86冲突”,一晚上弄的头疼都没搞明白,第二天在论坛里找有没有类似的问题,在一个讨论glut有没有64位的帖子里发现有人说:“glut那时候都没有64位机”

去openGL官网看看

glut32.lib : warning LNK4272: 库计算机类型“x86”与目标计算机类型“x64”冲突_第1张图片 “最初的GLUT已经20年没有更新了”

 

最初下载的时候到这里就是不看什么意思,硬着头安装了个GLUT,吃了没文化的亏

解决办法:下一个freeglut就行了

 

freeglut的主页上也有提到GLUT(正是我安装的那个)

glut32.lib : warning LNK4272: 库计算机类型“x86”与目标计算机类型“x64”冲突_第2张图片

“最初的GLUT已经废弃了,最新的版本(3.7)是1998年8月发布的,现在的freeglut是GLUT的完全替代库,它能够完全替代GLUT。”

 

也就是说两个库的函数使用是一样的(顺带一提,64位系统是零几年才出现的,论坛老哥诚不欺我)

 

补一张后来发现的,(1998戳得眼睛疼)

glut32.lib : warning LNK4272: 库计算机类型“x86”与目标计算机类型“x64”冲突_第3张图片 我最先安装的GLUT

 

 

安装freeglut过程中的小坑

freeglut的配置教程网上有一大堆,就简单提一下关键点,

1.下载freeglut和cmake后,使用cmake时注意,后缀要选择win64

glut32.lib : warning LNK4272: 库计算机类型“x86”与目标计算机类型“x64”冲突_第4张图片

2.生成完毕之后使用VS分别以Debug和Release生成解决方案,生成解决方案时要注意自己需要的freeglut是32位的还是64位的

自己做的时候上面这两步忘记是哪一步翻了车(应该是VS生成解决方案时候没有仔细看,x86摆那里就直接生成了),调试代码的时候又是“库计算机类型“x86”与目标计算机类型“x64”冲突”

 

你可能感兴趣的:(glut32.lib : warning LNK4272: 库计算机类型“x86”与目标计算机类型“x64”冲突)