我尝试在Windows 32位上以64位编译本机Visual Studio 2008 C ++程序。
我在链接期间出错,因为找不到64位的msvcprtd.lib
版本。
msvcprt.lib(MSVCP90.dll) : fatal error LNK1112: module machine type 'X86' conflicts with target machine type 'x64'
我已安装 Microsoft Windows SDK 的最新版本,但我在x64目录中找不到 msvcprtd.lib 文件。
答案 0 :(得分:1)
此错误可能是由于没有设置库目录来引用x64。如果向项目添加新的x64配置,则很容易发生这种情况。最简单的解决方案是使用win32和x64的项目创建一个新的解决方案,然后查看项目属性中的VC ++目录/库目录,并确保项目中的那些目录是相同的。
答案 1 :(得分:0)
msvcprtd.lib在32位或64位中未出现在我的最新SDK中。我确实在SDK的5.0版本中看到了它,但仅适用于IA64平台类型。
也许lib根本就不存在。尝试从你链接的lib列表中删除它,看看你得到了什么错误,搜索这些错误可能会引导你找到你想要链接的lib的名称。
答案 2 :(得分:0)
试试这个:转到你的项目属性 - >然后创建配置管理器,将x64指定为平台并将其设置为活动状态。
答案 3 :(得分:0)
我的简短回答是你确定安装了交叉编译器吗?我记得当我在32位XP上编译64位二进制文件时发疯,当时我意识到我没有安装交叉编译器。 (使用我的Visual Studio媒体很方便)。
同样,Madhur说确保您的配置设置为64位。