CUDAコードを含むアプリケーションをコンパイルしようとしています。私はWindows 7を実行している64ビットマシンを持っており、Visual C++ 2008 Express(無料版)を持っています。 cudaコンパイラを使用できるように私はhereの手順に従った。 Cudaファイル(* .cu拡張子付き)は現在正常にコンパイルされますが、他の通常のC++ファイルは32ビットを使用しています。これはIDEの上部(構成マネージャー)のドロップボックスにWin32
と書かれています。 IDEで、私はきちんとMachineX64
(プロパティ - >構成プロパティ - >リンカー - >詳細設定>ターゲットマシン)にリンカのためのターゲットマシンを設定すること構成マネージャーとコマンドライン
fatal error LNK1112: module machine type 'X86' conflicts with target machine type 'x64'
は注意してください。しかし、コマンドラインを見ると、このようなものです。
/OUT:"C:\Users\jan\Desktop\gpu\Release\gpu.exe" /INCREMENTAL:NO /NOLOGO /LIBPATH:"C:\CUDA\lib64" /LIBPATH:"../../common/lib" /MANIFEST /MANIFESTFILE:"Release\gpu.exe.intermediate.manifest" /MANIFESTUAC:"level='asInvoker' uiAccess='false'" /DEBUG /PDB:"C:\Users\jan\Desktop\gpu\Release\gpu.pdb" /SUBSYSTEM:CONSOLE /OPT:REF /OPT:ICF /LTCG /DYNAMICBASE /NXCOMPAT /MACHINE:X64 /ERRORREPORT:PROMPT cudart.lib C:\CUDA\lib64\cudart.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib
ランタイムライブラリの32ビットバージョンがコマンドラインに渡されていることに注意してください。どのように私は64ビットを使用するようにフリーキングコンパイラに頼むことができます。これは構成マネージャーに関連していますか?人々はconfiguration manager
にアクセスし、active solution platform
ドロップダウンリストでnew
を選択し、そこからx64を選択するように指示されました。ただし、type or select new platform
のプルダウンは空白です。私を助けてください。私はこれ以上ナットしていません。そして、完全なWindows SDKをインストールしたので、コンピュータに64ビットのコンパイルツールがすべてあることに注意してください。
これは興味深いです、http://maliciousattacker.blogspot.com/2008/10/creating-64-bit-applications-with.html – MetallicPriest