'X86'与目标机器类型'x64'发生冲突

时间:2012-02-09 16:03:51

标签: visual-studio

我收到以下错误:

  

LNK1112:模块机器类型“X86”与目标机器类型“x64”

冲突

我正在使用64位机器(VS2008),我有x64编译器。我检查了构建是在x64上。

为什么不编译?这是构建日志:

  

echo“C:\ Program Files \ NVIDIA GPU Computing Toolkit \ CUDA \ v4.1 \ bin \ nvcc.exe”-gencode = arch = compute_10,code = \“sm_10,compute_10 \” - gencode = arch = compute_20 ,code = \“sm_20,compute_20 \” - machine 32 -ccbin“C:\ Program Files(x86)\ Microsoft Visual Studio 9.0 \ VC \ bin”-Xcompiler“/ EHsc / W3 / nologo / O2 / Zi / MT“-I”C:\ Program Files \ NVIDIA GPU Computing Toolkit \ CUDA \ v4.1 \ include“-maxrregcount = 0 --compile -o”x64 \ Debug / lowWrappers.cu.obj“ lowWrappers.cu

3 个答案:

答案 0 :(得分:3)

在属性对话框的顶部,有一个平台下拉列表。应该说“Active(x64)”。如果它显示“Active(Win32)”,那就是你的问题。单击右上角的“Configuration Manager ...”,选择项目的平台,选择“”并找到x64。如果愿意,您可以删除Win32平台。

答案 1 :(得分:1)

(这可能有点过时......但是我发现了一个修复,因为我遇到了这个问题)。

简短回答,在您的项目属性 - >配置属性 - > CUDA RuntimeAPI->主机 将“目标机器平台”设置为x64。 (尽管在x64上安装了平台,我的x86也是如此)。

答案 2 :(得分:0)

确保您使用的任何库也已在64位上编译。