2012-02-09 53 views
2

我收到以下錯誤衝突:「X86」與目標機器類型「64」

LNK1112: module machine type 'X86' conflicts with target machine type 'x64'

我工作的64位機(VS2008),我有64位編譯器。我檢查了構建是在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

回答

0

確保您使用的庫也已編制了64位。

+0

所有64. mybe它的構建rile? 我如何在本機日誌文件(以上)中將機器更改爲64? – user1112136 2012-02-09 17:04:08

2

在屬性對話框的頂部,有一個平臺下拉菜單。這應該說「活動(x64)」。如果它說「活動(Win32)」,那就是你的問題。點擊右上角的「配置管理器...」,爲您的項目選擇平臺,選擇「」並找到x64。如果你喜歡,你可以刪除Win32平臺。

1

(這可能有點過時了...但我找到了一個修復程序,因爲我剛剛遇到了這個問題)。

簡短的回答,在您的項目屬性 - >配置屬性 - > CUDA RuntimeAPI->主機 設置「目標機平臺」爲x64。 (儘管在x64平臺上我的系統是x86系統)。

相關問題