VBOXSDL不兼容64位操作系统的解决办法

最近在玩Virtual Box,感觉非常不错。但是在用VBoxSDL.exe启动虚拟机的时候碰到点问题,

在windows7 x64下SDL会运行报错:

SDL Error: 'DirectInputDevice::SetDataFormat: Invalid parameters'

 研究了一下VBox的源代码,怀疑是SDL.dll里的问题,于是下载了SDL 1.2的源代码,重新编译一

个x64的SDL.DLL看看。打开VisualC目录下的工程文件,发现只有WIN32版的编译配置,自己新

建了一个x64的编译配置,编译正确,到了Link的时候报错:

.\release\SDL.obj : fatal error LNK1112: module machine type 'x64' conflicts with target machine type 'X86'

 检查了Link里的编译配置,明明是选了MachineX64 (/MACHINE:X64),google了老半天MSDN也翻遍了,还是百思不得起解。最后没辙了,手工打开SDL.vcproj逐项检查,终于找到有一行:

AdditionalOptions="/MACHINE:I386"

 这个AdditionalOptions是神马呢?在VS的设置界面里找了半天,终于发现在Linker->Command Line的底下有一个Additional options。我X,太坑爹了!!!浪费了我一个小时!!!

最后,Link顺利通过,用新编译的SDL.DLL替换VBox安装目录下的SDL.DLL,再次启动,顺利通过

转载于:https://my.oschina.net/armsky/blog/94883

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值