【VC2005】コマンドプロンプトでc++をコンパイルしたい
いつもお世話になっています。
WindowsXP pro で VisualC2005を利用してます。
コマンドプロンプトでc++をコンパイル、及び、実行したいと思い、
下記のページを参考にさせていただきました。
http://www.ced.is.utsunomiya-u.ac.jp/lecture/200 …
上記の方法の専用のコマンドプロンプトではなく、通常のコマンドプロンプトから
上記で紹介された「cl」のコマンドを実行できないでしょうか。
(おそらく、Pathを通す(?)とかいう作業が必要なのかなと思っていますが、、、)
お手数ですが、よろしくお願いします。
No.2
- 回答日時:
コマンドプロンプトからコンパイルを実行するためには環境変数の設定が必要です。
まず必要な環境変数を調べてください。Visual Studioから起動するコマンドプロンプトでどんな環境変数が設定されているか見るのも参考になるでしょう。
今度はそれらの必要な環境変数を通常のコマンドプロンプトで設定します。毎回いちいち手打ちで設定するのは大変なので、設定用のバッチファイルを作っておき、コマンドプロンプトの起動時に実行するようにします。
Pathは環境変数の中に含まれています。Visual Studioの各種ツールを起動する時にPathが通っている必要があるので、それらのディレクトを環境変数「Path」に設定しておくのです。コマンドプロンプトはカレントディレクトリに無い実行ファイルは「Path」に指定されているディレクトリを探して起動します。
コンパイラ、リンカ等の動作には「Path」以外にも「INCLUDE」、「LIB」、その他の環境変数を設定しておく必要があります。
環境変数の設定・確認には「SET」コマンドを用います。単に「SET」とした場合は設定されている環境変数を表示します。
環境変数を設定するときは「SET AAA=○○○」とすると環境変数AAAに○○○が設定されます。削除するときは「SET AAA=」とします。
No.3
- 回答日時:
No.1さんも言っているようにあまりメリットがないと思います。
Windows上で他言語から利用したいならDLLにすべきでしょう。
DLL化するメリットとして
(1)バイナリ配布可能になる
他のPCへインストールする際、コンパイラをインストールしないで済みます。
(2) コンパイル済みなので動作が高速
ソースの大きさにもよりますが、通常ビルドには秒単位で時間かかりますよね。
これが省略できます
DLL化を考えてみたら如何でしょうか。
Cインターフェースにすれば
VB等からも標準的な手法で呼び出せます。
何と言ってもWindowsAPI自体がDLLで実装されていますから!
No.4
- 回答日時:
「何と比べて」と言えば, 当然比較対象は「それ用のコマンドプロンプト上で実行すること」です.
#2 でも書かれてるんだけど, Visual C++ がまともに動くようにするためにはいくつかの環境変数を設定しなきゃならない. で, それらの環境変数を設定するためにしかるべきファイルを実行することになる. ところが, そもそも「専用のコマンドプロンプト」は「環境変数を設定するためのバッチファイルを実行してるだけ」なので, それとは別に作ることにあんまり意味があると思えないんだな~.
もともと「専用」じゃないのでねぇ.
No.5
- 回答日時:
正確な場所と名前は忘れましたが
vs8vars.bat
というような名前のバッチファイルが、インストールした場所のどこかにあります。
これを実行すると必要な環境変数の設定ができます。
ただ
スタート>VS2005>コマンドプロンプト
とするのを
・スタート>アクセサリ>コマンドプロンプト
・C:\Program Files....\vs8vars.bat
と2ステップになる、というのは既にある通りです。
>windows上で、他の言語から、既存のC++のソースを使用したいと思って
>いろんなC++コンパイラを試している途中なのです。
というのが今一つ意味がわかりません。
もしかして、
他言語でCのプログラムを出力→コンパイル→実行→結果を他言語で取り込み
みたいなことですか?
この回答への補足
貴重な情報、有難うございます。
>他言語でCのプログラムを出力→コンパイル→実行→結果を
>他言語で取り込みみたいなことですか?
そんな感じです。
(まだ、あまり詳細は決めていません。)
今回は、質問内容が実現できるかどうか確認したく、
質問させて頂きました。
No.6
- 回答日時:
> 上記の方法の専用のコマンドプロンプトではなく、通常のコマンドプロンプトから
> 上記で紹介された「cl」のコマンドを実行できないでしょうか。
先ず、上記の方法で起動したコマンドプロンプトから、C:\>set >compile.bat
エディターでファイルを開き、compile.bat の全行先頭に"set "を追加すれば良い。
後は、ファイルの最後に cl などを追記してゆく。
なお、エディターと、バッチファイルは予備知識。
No.7ベストアンサー
- 回答日時:
#5の方のvsvars32.batについてですが、VisualStudio2005がインストールされている場合、
"%vs80comntools%vsvars32%"
で実行可能です。たとえば、プロンプトを起動して
"%vs80comntools%vsvars32"
cl x.cpp
とすればx.cppがコンパイルできるはず。
1コマンドでコンパイルしたければ
"%vs80comntools%vsvars32" & cl x.cpp
と1行で記述してもコンパイルできます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- オープンソース コマンドプロンプトのコードの実行方法を教えて欲しい 2 2022/11/26 20:45
- その他(パソコン・周辺機器) チャレンジタッチ3 改造 アプリインストールできない 1 2022/07/01 14:43
- C言語・C++・C# exeファイルが作れない(windows10) 6 2022/08/13 08:47
- MySQL 参考書に従って入力したつもりでしたが、最後はエラーがでました。 1 2022/09/28 03:45
- Windows 10 VirtualBox 7のゲストOSでの物理HDDパーティションのマウント方法 2 2023/05/04 13:01
- その他(プログラミング・Web制作) DOSコマンドに詳しい方、お知恵をお貸しください 5 2022/11/04 20:55
- その他(プログラミング・Web制作) vbaで座標を指定してコマンドプロンプト画面を表示させる。 1 2023/01/09 16:06
- ノートパソコン cipher でデータが消えない 4 2022/06/01 14:58
- UNIX・Linux VirtualBox ゲストOSにPC内蔵HDDのパーティションをマウントする方法は? 2 2023/05/06 22:52
- Windows Me・NT・2000 コマンドプロンプトのdisk partについて 2 2023/03/05 15:49
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
C言語をコンパイルするとコンピ...
-
<unistd.h>をVisualStudioでつ...
-
実行後にコンパイルに失敗しま...
-
アプリケーションのDLLファイル...
-
math.hに含まれる関数が使えない
-
ビープ音が鳴りません・・・
-
c言語です コンパイルした時に...
-
再起動しないとADOが使えなくな...
-
VS2010環境で2点ほど質問
-
<math.h>ヘッダを入力している...
-
'hcw'がみつかりません
-
すべてのリビルド: 0 正常、 0 ...
-
VCでコンパイラ実行時に警告を...
-
</body>の直上にJavaScriptを入...
-
C言語で作ったらWindowsでもMac...
-
C言語で、配列を使ったsinカー...
-
Linux(g++)とAIX(XL C++)の挙動...
-
64bit環境で32bitでコンパイル...
-
VC++6.0の混在モード
-
CLRアプリと通常のアプリとの違い
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
<unistd.h>をVisualStudioでつ...
-
アプリケーションのDLLファイル...
-
共有ライブラリの内容確認について
-
シリアル通信の受信待ちについて
-
C#で char型とstring型の比較で...
-
64ビットのlinuxで32ビットメモ...
-
Verilog_HDLでのdefineとifdef
-
math.hに含まれる関数が使えない
-
自作DLLの中身を暗号化
-
C言語で作ったらWindowsでもMac...
-
実行後にコンパイルに失敗しま...
-
lhafileをインストールしたい
-
c言語です コンパイルした時に...
-
ビープ音が鳴りません・・・
-
すべてのリビルド: 0 正常、 0 ...
-
gcc バージョン違いによるコン...
-
Cのコンパイルでコメントアウト...
-
CLRアプリと通常のアプリとの違い
-
「インクルードファイル 'pthre...
-
MVSマシンで0C7でABENDしたので...
おすすめ情報