glut32.lib : warning LNK4272: 库计算机类型“x86”与目标计算机类型“x64”冲突 您所在的位置:网站首页 gtsdemo下载 glut32.lib : warning LNK4272: 库计算机类型“x86”与目标计算机类型“x64”冲突

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

2023-09-25 15:19| 来源: 网络整理| 查看: 265

先说结论:使用的库是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官网看看

“最初的GLUT已经20年没有更新了”

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

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

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

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

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

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

我最先安装的GLUT

安装freeglut过程中的小坑

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

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

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

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

更新:

Visual Studio能够直接安装nupengl,整合了freeglut,glfw和glew,不用再自己编译了。

唯一的问题是拒绝眼瞎,容易眼瞎的地方加粗标红。

VS上配置openGL大都是使用VS自带的Nuget来统一管理包

右键项目,管理Nuget程序包,然后搜索nupengl,显示找不到包。

从已安装切换到浏览

右上角程序包源只有一个Offline Package,点开设置,绿色加号添加

名称随便比如xx

来源链接:https://www.nuget.org/api/v2/

确定之后记得右上角重新选择程序包源为xx,就刚才新建的那个

整合了freeglut,glfw和glew

网上说要安装检索出的两个,实际上安装第一个core就会把第二个一起装上



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有