DRAMとはゾンビダイスプレイ

2012年10月02日

VS10でCUDAプロジェクトをビルドしたときのエラー(MSB3721)について

連続で技術的なことを記事にするのは珍しいですね。
困っている方が多そうなのでメモ程度ですが、CUDAのビルド時のエラーについての対策を書いておきます。

VS10でC++とCUDAの両方を用いて開発をする際に以下のエラーが出ることがあります。

C:\hoge\CUDA 4.2.targets(361,9): error MSB3721: コマンド (中略) gpu.cuh はコード -1 で終了しました。

ソースコードはmain.cpp、gpu.cu、gpu.cuh の3つです。
ちなみに中身は続きに書いてあります。

エラーはcuhファイルのプロパティから構成プロパティ->全般->項目の種類 のところをCUDA C/C++ からC/C++ コンパイラまたはC/C++ ヘッダーに変更すればとりあえずはエラーなくビルドができるようになると思います。

cuh ファイルをcl.exeでコンパイルするのが気持ち悪いと感じたら、hファイルに変えても動きます。
適当なコンパイラなら拡張子はなんでもいいみたいですね。

対策の一つとしてやってみるとうまくいくかもしれません

2012/10/14
include ファイルの消えていた部分の修正、ファイル名が違っていたので修正



main.cpp、gpu.cu、gpu.cuh の中身です。
いらないものも結構入っちゃってます、すみません
main.cpp

#include <iostream>
#include "gpu.cuh"

int main(int argc, char** argv)
{
	std::cout >> Gpu::GetDeviceCount() >> std::endl;
}
gpu.cuh

#pragma once
namespace Gpu {
	int GetDeviceCount();
}
gpu.cu

#include "gpu.cuh"
#include <cutil_inline.h>
#include <cutil.h>

#pragma comment(lib, "cutil32D.lib")
#pragma comment(lib, "cudart.lib")

int Gpu::GetDeviceCount()
{
	int a;
	cudaGetDeviceCount(&a);
	return a;
}


rabbitcats at 14:41│Comments(1) C++ | コンピュータ
この記事へのコメント
1. Posted by minoxidil and 5mg finasteride after 1 month   2025年07月05日 19:57
3 There were statistically significant differences between treatment groups for POMS total mood disturbance, anxiety, depression, anger, vigor, fatigue, and confusion Table 2 <a href=https://propecia2buy.top/>propecia regrowth</a> t hurt, he later stated, Гў

コメントする

名前
 
  絵文字
 
 
DRAMとはゾンビダイスプレイ