glut32.lib : warning LNK4272: 库计算机类型“x86”与目标计算机类型“x64”冲突 | 您所在的位置:网站首页 › gtsdemo下载 › 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官网看看 ![]() 最初下载的时候到这里就是不看什么意思,硬着头安装了个GLUT,吃了没文化的亏 解决办法:下一个freeglut就行了 freeglut的主页上也有提到GLUT(正是我安装的那个) “最初的GLUT已经废弃了,最新的版本(3.7)是1998年8月发布的,现在的freeglut是GLUT的完全替代库,它能够完全替代GLUT。” 也就是说两个库的函数使用是一样的(顺带一提,64位系统是零几年才出现的,论坛老哥诚不欺我) 补一张后来发现的,(1998戳得眼睛疼) 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 实验室设备网 版权所有 |