Visual Studio 2008とCUDAライブラリーでのコンパイルに問題があるのか?

このQ&Aのポイント
  • 32bitのWindows Vista SP2で、Visual Studio 2008 Express Editionを利用してGPGPU計算を行いたいと考えています。
  • しかし、日本語名のユーザーホームディレクトリ以下にtempファイルを作成しようとすると、コンパイルに失敗してしまいます。
  • そこで、解決策として一時フォルダを別の場所に指定することで問題を回避できるかどうか、経験のある技術者の方の意見をお待ちしています。
回答を見る
  • ベストアンサー

誰も解決策はわからないかもしれないけど疑問があります。

誰も解決策はわからないかもしれないけど疑問があります。 visual studio 2008 express edtionを利用しています。その中でもc++をつかってGPGPU計算をやってみたいと思うようになり、グラフィックカードなどを買ってきて試しています。32bitOSのwindows vista sp2をつあっていますが、sample SDKに付属していたデモを試すとうまく動きません。 コンパイルする必要があると思って、プロジェクトファイルからvisual studio c++ express edtionを呼び出して、コンパイルさせました。いくつかのライブラリやインクルードファイルの場所指定をする必要があって、紆余屈折した挙句にコンパイルすることが出来そうになりました。 いざ、コンパイルを試みると…CUDAのソースがコンパイルできません。どうやら日本語名のユーザーホームディレクトリ以下にtempファイルを作成しようとして失敗しているようです。 日本語だからだめなのかとおもって、英語名のアカウントでやるとすんなりコンパイル出来ちゃいました。 さて、やっと質問です。日本語名だとvisual studio 2008とcudaライブラリーでのコンパイルには問題がでるのでしょうか?解決策はtempディレクトリを別のフォルダに指定することで回避できると思うのですが、皆さんはそうしているのでしょうか? 使用経験のある技術者の方からの返事をお待ちしています。 よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • Wr5
  • ベストアンサー率53% (2177/4070)
回答No.2

ASCIIで事足りるところで作成されているプログラムには、他の文字コードのことを考慮していないものが存在します。 # ShiftJISだった場合は目も当てられない状態に陥ることがままあります。 まぁそういうモノの場合、中国だろうがロシアだろうが問題引き起こすでしょうけど。 >皆さんはそうしているのでしょうか? Windowsのユーザー名はアルファベットのみにしておく…方が無難な場合があります。 海外製のソフトを使用する場合とか、日本語入力できない状態でトラブルシュートする場合とか… 既に回答ついているとおり、「基本」というか…そういう事例があることを知っているので予め回避策(ユーザー名などはアルファベットと数字のみ)を講じてます。 海外製のソフトで日本語対応されている場合でも、たいていの場合はユーザー情報に日本語は使いません。 今回の場合、テンポラリフォルダの問題だけっぽいのでユーザー環境変数のTEMPとTMPでASCIIで記述できる場所を指定することで回避できるかも知れません。 # DOS時代のモノの場合、ファイル名やディレクトリ名に半角スペースが入るモノも避けた方がよいでしょうが。

yaki_29_u
質問者

お礼

ありがとうございました。 windows上ではプログラムを作ったことがほとんどないので、 そういう事情があるのですね。 丁寧な説明でわかりやすかったです。 linuxは日本語のアカウント自体ナンセンスだったのですが、 windowsはきっと・・・「日本語版」とかいって売っているし、 と思っていました。 おそらく普通のC++のコードならコンパイルできたはず・・・なのかもしれません。 nvcc自体、日本語や半角スペースが含まれるディレクトリは無理そうですね。 アカウント名を英語の名前に変更しました。 ありがとうございました!

その他の回答 (1)

  • Cupper
  • ベストアンサー率32% (2123/6444)
回答No.1

>日本語だからだめなのかとおもって、英語名のアカウントでやるとすんなり~ いや・・・これ・・・   基本だから! 2バイト文字のユーザーアカウントを使っていると一部のプログラムは正常に動作しません。

yaki_29_u
質問者

お礼

やはり、基本でしたか(笑) linux上でばかりプログラムを組んでいたので。 windowsだったら日本語ディレクトリには対応しているだろうと 思っていたけど、nvccはだめだったっぽいですね。 ありがとうございました! 英語の名前でアカウント作り直しましたよ。

関連するQ&A

  • Windows環境でのCUDAについて

    閲覧ありがとうございます。 現在、Windows7でCUDAプログラミングを勉強しようと思っています。 現在の環境は以下の通りです。 Windows7 Home 64bit CUDA toolkit 6.5 CUDA Visual Studio Integration 6.5 この環境でCUDAプログラムを書きnvccでコンパイルしようとすると nvcc fatal : Cannot find compiler 'cl.exe' in PATH と表示されます。 おそらく、Visual Studioをインストールしてないことが原因だと思います。 そこでVisual Studioをインストールしようと思うのですが、Visual Studioのバージョンは 何をインストールすればいいかわかりません。 またVisual Studioをインストールするだけでこの問題は解決するのでしょうか。 回答お待ちしております。 よろしくお願いいたします。

  • visual studio .NET→ Visual C++ 2005 Express Edition(pshpack2.h)

    visual studio .NETで問題なくコンパイルできたプログラムを 他のマシンのVisual C++ 2005 Express Editionで コンパイルするとビルドエラー fatal error C1083: include ファイルを開けません。'pshpack2.h': No such file or directory のメッセージです。 解決法を教えてください。

  • VS2005でCUDAを使える環境

    Visual Studio 2005 Express で CUDA を使用したいのですが おそらく、パスの設定がうまくいかず、sample fileを実行できません。 ネットでよくパスを設定して・・・ とあるのですが、実際どこをどのように書き換えたり追加すのかがわかりません><。。。 どなたか、詳しい手順を教えていただけないでしょうか? よろしくおねがいします。

  • clでコンパイルができません

    C言語初心者です。VistaでMicrosoft Visual C++ 2008 Express Editionを使用しています。ことのあらましは以下の様です。 以前まではスタートメニューからVisual Studio 2008 コマンドプロンプトをひらいてディレクトリを移動しcl ファイル名でコンパイルしていたのですが、ある日突然fatal link error C:\Users\(私の苗字)を開けませんといったような表示が出るようになり、コンパイルができなくなりました。まずcファイルはC:直下のそれ用のフォルダに保存してあるので、なぜ(ユーザー名前)開こうとしているのかわかりませんでした。それからいろいろ調べて保存場所を変えたりいじったりしてはインストールしなおすということを繰り返したのですがうまくいかず、ユーザー名の苗字と名前の間にスペースがあるのが原因と考えてユーザー名変更したところ、Visual Studioからひらいたコマンドプロンプトなのに 「'cl'は、内部コマンドまたは外部コマンド、 捜査可能なプログラムまたはバッチ ファイルとして認識されていません。」 と表示されました。 おそらくいじった時に何か消してはいけないものを消したのではと思っているのですが、どうしたらいいでしょうか…どなたか、どうか教えてください。

  • Visual Studioのようなウィンドウ管理

    Visual Studio 2012 ExpressでC#を使って開発しています。Visual Studio 2012 Expressが採用しているものと同じようにウィンドウ間のドッキングや閉じる、折りたたむといった操作が行える機能を自分のソフトにも組み込みたいのですが、何かライブラリがあるのでしょうか? Visual Studio 2012 Express以外のソフトウェアでも同様の操作感を持つものを知っているので、どこかが開発したライブラリか何かではないかと思うのですが…。

  • すぐに書き込みくださいまして、ありがとうございました。

    すぐに書き込みくださいまして、ありがとうございました。 ご指摘のとおりで、確認したのですが、インクルードファイルは下記の場所で設定済みです。 Visual Studio [メニューバー]-[オプション]-[VC++ディレクトリ]のインクルードファイル設定画面 なお、 Visual Studio 2008 コマンドプロンプトで実行するとこのエラーが表示されますが、 Visual Studio 2008のデバックで実行すると、エラーは表示されません。 つまり、Visual Studio 2008コマンドプロンプトの環境設定に原因があるのではないかと思うのです。 (コマンドプロンプト画面でインクルードファイルの設定を確認するにはどうしたらいいでしょうか?) Visual Studio 2008コマンドプロンプトは、 [スタート]-[Microsoft Visual Studio 2008]-[Visual Studio Tools]-[Visual Studio 2008コマンドプロンプト] で起動するツールです。 Visual Studio 2008で環境設定(パス、ライブラリ、インクルードファイル、コンパイル)をすれば、その設定がVisual Studio 2008コマンドプロンプトでも有効だと認識したのですが、間違いでしょうか。 cv.hはOpenCVのファイルで、OpenCVのインストールをやり直しましたが事象は変わりません。 Studio 2008コマンドプロンプトでecho %PATH%で確認すると、パスは通っています。 もし何かおわかりでしたら、アドバイスいただけると嬉しいです。

  • 日本語名ディレクトリーから日本語名ファイルを読込方法

    超初心者です。 C又はC++にて日本語名ディレクトリーから日本語名テキストファイルを読み込みたいのですがどの様な関数?を使えば良いのでしょか。 ちなみに、英文字名は読み込む事ができました。 OSはWindows XP HomeでVisual C++ 2005 Express Edition です。 調査が不十分かも知れませが、中々たどり着きません。 超初心者ですので、どなたかアドバイスを頂ければ幸いです。

  • Visual Studio 2008 についてきたMSDN Libra

    Visual Studio 2008 についてきたMSDN Library for Visual Studio 2008 日本語版 - JPNというプログラムについて 僕はVisual Studio 2008をマイクロソフトのDreamSparkというキャンペーンで手に入れたのですが、それに付いてきた(選択性だった気もしますが、よく分からなかったのでインストールしました)、このプログラムは実際どういうものなのでしょうか? 何故このようなことを質問するのかと申しますと、プログラムとファイルを整理しているとこれが非常に大きなファイルだったので、できれば消しておいたほうがいいかなという判断からです。 大きさは2433MBですのでさすがに要らないファイルにこれだけ割くのはもったいないかなと思いまして・・・・・ このファイルの内容を教えていただきたいのです。 よろしくお願いします!

  • VC++ 2005 Express Edition 設定のエラー

    こんにちは。 おそらく設定のエラーでしょうが、解決策がまったく見つからないので質問してみました。 Visual C++ 2005 Express Edition(VCEE) を使ってみようと思ったので、 VCEEをダウンロードして、インストールしました。 その後、Win32アプリケーションを作成しようと思い、 PSDK-x86をダウンロードしてインストールしました。 そして、VCEEで、 「ツール」から「オプション」、「プロジェクトおよびソリューション」の「VC++ ディレクトリ」で 実行可能ファイル・インクルードファイル・ライブラリファイルで設定をし、corewin_express.vspropsファイルも変更して、これでできる、と思ったのですが、 新規作成でWin32アプリケーションが作れませんし、 昔作っていたものをコンパイルしようと思ったら「コンピューターの競合」のエラーがでます。 いろいろネットを探したのですが、見つかりませんでした。 だれか知っているでしょうか。 長文失礼いたします。

  • Microsoft Visual Studio 2008 Express Edtion で”ソリューションのビルド”について

    Microsoft Visual Studio 2008 Express Edtionでメニューから”ソリューションのビルド”を実行した際に、”Debug”フォルダが作成されて、その中にexeファイルが出力されたのですが、このファイルをコピーして他のPCに貼り付けてあげれば、ビルドしたプログラムは動作してくれるのでしょうか。

専門家に質問してみよう