CUDA 5.5 に含まれる静的 CUDA ランタイムを使用しようとしていますが、いくつかの問題に直面しています。
cudart_static.lib
以下は、さまざまな IDEでリンクした結果です。
ビジュアル スタジオ 2012:
リンカーは次のエラーで失敗します。
エラー LNK2038: '_MSC_VER' の不一致が検出されました: 値 '1600' は、kernel.cu.obj の値 '1700' と一致しません
静的 CUDA ランタイムは VS2010 を使用してコンパイルされているようです。
ビジュアル スタジオ 2010:
エラーなし。正常にリンクします。
ビジュアル スタジオ 2008:
次の一連の警告と正常にリンクします。
cudart_static.lib(cuda_*.obj): 警告 LNK4229: 無効なディレクティブ '/FAILIFMISMATCH:_MSC_VER=1600' が検出されました。無視された
また、すべての IDE で、DEBUG 構成で実行すると、リンクが次のエラーで失敗します。
エラー LNK2038: '_ITERATOR_DEBUG_LEVEL' の不一致が検出されました: 値 '0' は、kernel.cu.obj の値 '2' と一致しません
質問:
- Visual Studio 2012 で静的 CUDA ランタイムをリンクする方法は?
- DEBUG構成で同じものをリンクする方法は?