关于win64位系统与32位开发平台

本文记录了作者在使用VS2013进行开发过程中遇到的x64与x86平台配置问题,特别是在更换MySQL版本时遇到的外部符号无法解析错误,并详细描述了解决过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

:本人为 windows7 64位、vs2013 64位

       由于之前一直用32位系统及win32的平台开发,没细细考虑过x64与x86的平台区别。现在,我按默认的vs2013的win32平台开发,其中一些配置文件也是64位的,比如websocketpp、boost等等,经过编译安装后,用在win32的环境下没出现问题,也就是说一切通过,大抵是它们是编译安装的,所以是根据其编译的环境来配置的文件,所以肯定是没问题的吧。

       由于我的mysql不能正确配置到我的开发环境,所以我重新安装了64位的mysql,出现了“无法解析的外部符号”,配置无误,我只能想到64位与32位的问题,所以,我改动了vs2013的环境配置:

         1、点击《项目》->《属性》》->《配置管理器》->《活动解决方案平台》,在下拉框里选择《新建》,在《键入或选择平台》处选中“X64”,然后“确定”返回;

         2、点击《项目》->《配置属性》》->《链接器》->《高级》,在右边《目标计算机》选择“MachineX64”,然后“确定”返回;

        出现jsoncpp的.obj文件提示 “fatal error LNK1112: 模块计算机类型“X86”与目标计算机类型“x64”冲突”,这想必是因为我的jsoncpp是32位的???可我的jsoncpp编译安装环境也如boost一致,唯一不同的是boost很确定是64位,而jsoncpp未能下载到能很确定是64位的源代码,即使在我下载的jsoncpp早编译安装后测试代码能通过。

        由于我的项目已到后期,改动很大,更何况确实不能明确上面的原因,所以我将x64环境改回win32,安装32位的mysql,一起又OK啦。

        提醒各位及自己,着手开发时环境的选择、及安装软件支持包时x86或x64必须明确,以免开发中后期进退两难。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值