• 締切済み

既存のコードから C++ プロジェクト作成

Visual Studio 2008を使用しています。 やりたいことは、シミュレーション内で扱っている、既存のC++コードを編集し(今回はまだ編集してない)、デバックすることで自分の考えたプログラムをシミュレーション上で動かすことです。 C++ファイルやヘッダファイルなどがあり、当然ソースコードの書き換えはしていないので、ソースプログラムにおけるエラーはありません。 以下、線で囲った部分は実際に行った動作をなるべく詳細に書いたつもりです。 最終的な結果は、この線で囲った部分の後に書きますので、読み飛ばしてもらっても平気かもしれません。 ________________________________________ 実行してみた操作方法は、このシミュレーションの開発者団体から頂いた資料(先輩のであり、1年ほど前の)を参考に [既存のコードからプロジェクトを作成] →Visual C++選択 →「外部のビルドシステムを使用する」を選択。 「ビルドコマンドライン」「リブルドコマンドライン」「クリーンコマンドライン」「出力(デバック用)」に資料に書いてあったものを入力。 (今、別PCからの書き込みなので、入力したものを正確にお伝えすることはできませんが、必要とあれば後ほど補足させていただきます。 前者3項目にはnmake -f XXXX このようなものを入力しました。 出力には、シュミレーションのexeまでの絶対パス) 以上の操作を完了させ、visual studio画面のソリューションエクスプローラーにプロジェクトとC++ファイルなどを読み込むことができました。 続いて、また資料通り、新しくできたプロジェクトのプロパティから必要な値を入力しました。 これについても必要であれば、後程記述します。 ここまでで作業は完了です。 ビルドしたり、デバックしたりしましたが、エラーが発生し、手詰まり状態にあっています。 ここまでの作業は同じ作業を過去にしたことがある同研究室の先輩方複数人に見てもらったことと、何度も失敗したのでこの作業を複数回繰り返したことから、入力ミス(例えば半角スペースやディレクトリの参照ミス)などは無いかと思われます。 _________________________________________ 肝心のエラーコードですが、 「コンパイラの一時的な中間ファイルを作成するための領域が不足しています。」 エラーコードを参照し以下のサイトを発見しました。 http://msdn.microsoft.com/ja-jp/library/bb385201.aspx 「TMP 環境変数によって指定されるディレクトリから古い MSIL ファイルをすべて削除します。 これらのファイルは、_CL_hhhhhhhh.ss という形式になります」 こう書いてありましたので、TMP 環境変数によって指定されるディレクトリからCL_hhhhhhhh.ssを探してみましたが、このようなファイルはありませんでした。 念のために、このディレクトリ内の全てのファイル・フォルダを削除してみましたが、結果は変わりませんでした。(正確には切り取ってフラッシュメモリに移動させた。) Cドライブの空き容量も見ましたが、半分も使用領域が残っており、数値的にも十分なほどの空きスペースがあるはずです。 ここまでが現状ですが、この現状を打破する知識をお持ちの方がいましたら、アドバイスをよろしくお願いします。 ここまで読んでくださった方、ありがとうございました。

みんなの回答

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

テンポラリ領域については回答されているので… >TMP 環境変数によって指定されるディレクトリからCL_hhhhhhhh.ssを探してみましたが、このようなファイルはありませんでした。 そのままの名前では存在しない…ということは理解されていますよね? 「h はランダムな 16 進数を、ss は IL ファイルの種類を表します。」と書かれていますし。 ちなみに、「TMP 環境変数によって指定されるディレクトリ」の環境変数は2種類あったりしますが、そちらは問題ありませんか? # システム環境変数と個人用環境変数。通常であれば個人用の方が優先になるかと。 使用している環境でクォータなどにより制限されている…とかそういうことはないですか? >「ビルドコマンドライン」「リブルドコマンドライン」「クリーンコマンドライン」「出力(デバック用)」に資料に書いてあったものを入力。 で環境変数を再設定している…とかそういったことはありませんか?

すると、全ての回答が全文表示されます。
回答No.1

TMP環境変数によって指定されるディレクトリがの絶対パス名が長かったり、パス名の中に半角スペースが入っていたりすると、古いツール類や、古い開発システムが、TMP領域に一時ファイルを作成するのに失敗する事があります。 例えば、 TMP=C:\Documents and Settings\ユーザー名\Local Settings\Temp になっていると、Windows98時代の古い某ソフトは「一時ファイル"C:\Documents"が作成できません」で停止します。 また、ある種のソフトでは、ディレクトリの絶対パスの長さが「64バイト以内」と想定している為、TMPフォルダのアクセスに失敗します。 Cドライブのルートフォルダに「TEMP」フォルダを作成し、WindowsのTMP環境変数の設定を TMP=C:\TEMP に変えてから再起動し、実行してみましょう。

すると、全ての回答が全文表示されます。

関連するQ&A