再度利用させていただきます。

Visual C++ を利用してコマンドラインからコンパイルをできずにいます。

勿論、VCVARS32.bat を実行し、環境変数の初期サイズを 4096 以上に設定してはいますが、
コンパイル(cl *.c)を実行しますと,
"コマンドまたはファイル名が違います."
と表示されてしまいます。

さらに必要な設定がありましたら、
恐れ入りますが詳しく教えて頂けますでしょうか。

こちらの環境は、
PC  PC9821
OS Win95
VC++ 6.0

どうぞよろしくお願いします。

このQ&Aに関連する最新のQ&A

A 回答 (3件)

vcvars32.bat起動用のバッチファイルを作成するのがよろしいと思います。



詳しくは
1.適当なバッチファイルを作成する(vcstart.batなど)
2.それをエディターで開いて下記のとおりに入力する
--------------------------------------------------------------------
call "C:\Program Files\Microsoft Visual Studio\VC98\Bin\vcvars32.bat"
doskey
c:\windows\command.com
--------------------------------------------------------------------
call以降はvcvar32.batがある場所までのパスを通してください
(doskeyは必要なければ消してください。)
3.2で作ったバッチファイルのショートカットを適当な場所に作成
4.ショートカットのプロパティを開いてメモリタブの「環境変数の初期サイズ」
  に適当なサイズを割り当てる
  (質問で述べている4096でよろしいと思います)
5.バッチファイルを起動

で動くはずです。
    • good
    • 0
この回答へのお礼

packn 様

詳細なお返事ありがとうございます。

大変参考になります。
ところで、再度質問させていただきたいのですが、
VC++6.0 及び Borland C++ Compiler 5.5 を
同一 PC で使い分けながら、
コンパイルしてもよろしいのでしょうか。
と申しますのも、
どちらの処理系でも通用しますと、
より汎用性??の高いソフトになるかと思っております。

もしご存知でしたら恐れ入りますが、
OSへの悪影響の有無を考慮しつつ教えて頂けますでしょうか。
どうぞよろしくお願いいたします。

お礼日時:2001/09/05 22:19

再びこんにちは



>ところで、再度質問させていただきたいのですが、
>VC++6.0 及び Borland C++ Compiler 5.5 を
>同一 PC で使い分けながら、
>コンパイルしてもよろしいのでしょうか。
>と申しますのも、
>どちらの処理系でも通用しますと、
>より汎用性??の高いソフトになるかと思っております。

Borlandのコンパイラは使ったことがないので何とも言えませんが、
実行ファイルの名称が同じ(両方ともcl.exe)であれば
バッチファイルを2つ作って使い分ければよろしいかと思います。

なお、コンパイラの同居に関しては問題ないと思います。
私もJavaのコンパイラを古いバージョンと新しいバージョンを同じPC
に入れて使っています。
    • good
    • 0
この回答へのお礼

packn 様

お返事ありがとうございます。

実は質問後、Borlandのバッチファイルを作りまして、
同一のDOS窓でも実行できるのかどうか確かめてみました。
少々不安がありましたが、無事コンパイルができている模様でした??..

>同居に関しては問題ないと思います。

上記の言葉で安心しました。
が、バッチファイルに関しては使い分けます。
大変参考になました。

今後も機会がありましたらどうぞよろしくお願いします。

お礼日時:2001/09/10 21:43

vcvars32以外には特に必要ないです。


Win95でVC++6.0を使ったことはないのですが、自分の場合は、MS-DOSプロンプトのショートカットを1つ作って、そのプロパティのプログラム・タブのバッチファイルにvcvars32.batをフルパス(""で括って)を入れています。

pathで、環境変数がどうなっているのか、調べてみてください。
C:\PROGRA~1\MICROS~1\VC98\BIN
のような部分が含まれていれば、少なくともcl.exeは起動するはずです。
    • good
    • 0
この回答へのお礼

inthefloi 様

お返事ありがとうございます。

やはりパッチファイルが必要なのですね。
質問後に書籍(MS-DOSに関して)を読んでいまして、
私の無知さに恐縮しております。

再度機会がありましたら、
どうぞよろしくお願いいたします。

お礼日時:2001/09/05 22:06

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QWindows2000PROで、BIOSのパスワード設定方法を教えて下さい。

Windows2000PROで、BIOSのパスワード設定方法を教えて下さい。

Aベストアンサー

BIOSのパスワード設定はOSとは関係ありません。
PCを起動したときにBIOSセットアップを起動するキーが表示されませんか?
例えば[F1]キー等がよく使われています。
メーカー製PCではメーカーのロゴ表示でBIOSメッセージが隠されている場合もありますので、詳しくはお使いのPCやマザーボードのマニュアルを参照してみてください。
もしかしたら起動中のメーカーロゴ表示中に[ESC]キー押すとBIOSメッセージが表示されてBIOSセットアップを起動するキーがわかるかもしれないですね。

Qvcvars32.batを実行できない

大学の課題でプログラムを作らないといけないので、自宅のPCでプログラムを書いてコマンドプロンプトでコンパイルしようと思うんですが、

「stdio.h: インクルード パスが設定されていません。」

表示され、コンパイルできません。
自分で調べたところによると、vcvars32.batを実行することで上手くインクルードできると分かりました。
でも、実際にコマンドプロンプト上でvcvars32と入力しても、

「'"vcvars32.bat"'は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。」

と表示され、実行できません。
どうしたらちゃんと実行できるようになるんでしょうか。
どなたか教えてください。

OS:vista
Microsoft Visual Studio9.0使用。

Aベストアンサー

Visual Studio 2005なので、微妙に違うと思いますが…
標準インストールで
C:\Program Files\Microsoft Visual Studio 8\Common7\Tools\vsvars32.bat
にありましたが……。
内容的に31バイトなはずはありませんので、実体を探した方がよいかと。
ちなみに、
C:\Program Files\Microsoft Visual Studio 8\VC\bin\vcvars32.bat
にもありますが、こちらは先に掲示した方を実行するように書かれているだけでした。
# 内容は"%VS80COMNTOOLS%vsvars32.bat"だけ。
# システム環境変数のVS80COMNTOOLSは"C:\Program Files\Microsoft Visual Studio 8\Common7\Tools\"です。

>スタートメニューのプログラム一覧のところのことですよね?

スタート-プログラム-Microsoft Visual Studio 2005-Visual Studio Tools-Visual Studio 2005 コマンド プロンプト
になりますね。(XPですが)
ちなみにリンク先は
%comspec% /k ""C:\Program Files\Microsoft Visual Studio 8\VC\vcvarsall.bat"" x86
です。

システム環境変数が未定義なんじゃないでしょうか?
# たぶんVS90COMNTOOLS…だと思われますが…
コマンド プロンプトでsetコマンド実行して、VS90COMNTOOLSが設定されていますか?

Visual Studio 2005なので、微妙に違うと思いますが…
標準インストールで
C:\Program Files\Microsoft Visual Studio 8\Common7\Tools\vsvars32.bat
にありましたが……。
内容的に31バイトなはずはありませんので、実体を探した方がよいかと。
ちなみに、
C:\Program Files\Microsoft Visual Studio 8\VC\bin\vcvars32.bat
にもありますが、こちらは先に掲示した方を実行するように書かれているだけでした。
# 内容は"%VS80COMNTOOLS%vsvars32.bat"だけ。
# システム環境変数のVS80COMNTOOLSは"C:\Program...続きを読む

QQ:Windows2000Pro:ダイアルアップでのドメイン参加の設定方法

自宅より会社のドメインに参加し、通常使用している
ファイルサーバー上のファイルにアクセスしようと
思っていますが、Windows95、98の時は出来ていた
のですが、なかなかうまくいきません。
設定方法など、ご教示ください。

Windows2000で「ネットワーク認識ウィザード」で
設定を試みていますが、接続していない状態では、
「ドメイン不在」の旨のメッセージで設定することが
出来ません。

同じRAS接続のノーツサーバーには問題なくアクセス
出来ています。名前解決もLMHOSTSを記述して問題
ないようです。

・クライアントOS:Windows2000Professional
・サーバーOS:WindowsNT4.0
・接続:PHS

過去の質問についても検索しましたが、結論
が出せていません。ご存知のかたよろしくお願いします!

Aベストアンサー

LMHOSTSの書き方です。192.168.110.1がPDCのアドレスだとすると
192.168.110.1 "ABCdefghijklmno\0x1B" #PRE
となります。
注意するのは"ABC------\0x1B"の中です。ドメイン名とあわせて15文字(半角で)になるようにスペースを入力します。
つまり上の例ではABCがドメイン名、d~oがスペースとなります。
JP150800の「LNHOSTSの例」の「ヒント:名前が15文字」というのはドメイン名とあわせて\0x1Bまでの文字数が15文字という意味です。
あと技術文書には載っていないようですがドメイン名は大文字の半角で書いて下さい。
後はnbtstat -Rで取り込んで、nbtstat -cで確認して下さい。

Qコンパイルできない "clは内部コマンド・・・

独習Cという本を見て
Microsoft.NET Framework SDK2.0のインストールとBorland C++ Compiler5.5をインストールして環境変数のPathの変数値の末尾に「;c:\borland\bcc55\Bin」と入力して設定したのですが、コマンドプロンプトでprog.cというファイルを作り、コンパイラすると「clは内部コマンド...」というエラーがでます。

パソコンの環境はvistaを使用し、秀丸エディタでファイルは作りました。
コマンドプロンプトに
「C:\Users\ユーザー名>cl prog.c」としたのですが何か根本的に間違えているのでしょうか?教科書を見る限りこれ以上設定する項目はないのですが。

Aベストアンサー

cl.exeはVC++のコンパイラです。
BCCならbcc32.exeでしょう。

QGTフォースproのハンドル回転角度設定方法を教えて!

GTフォースproを子供が使って遊んでいたのですが、左右に1回転以上していたものが、左右に1/2回転ずつしか回らなくなってしまいました。
この機種は、そういう設定が出来るのですが、どういう操作で解除するのか判りません(取り説紛失、メーカーサイトに情報見つけられず)
知っている人がいたら、教えてくださいm(__)m

Aベストアンサー

GT-Force-Proのスイッチの
[SELECT]+[R3]+[右パドルシフター]の同時押しで、
ステアリングの200度と900度が切り替わります。

ちなみに、
[SELECT]+[R3]+[左パドルシフター]の同時押しでは、
ハンドルの反力の重さが変化します。

更に、
[SELECT]+[R3]+[シーケンシャルシフトレバー(+)]の
同時押し入力でGranTurismo3A-specでの
[シーケンシャルシフト]と[L1/R1]の切り替えが出来ます。

QVC++での外部ファイル(batファイル)の実行

VC++のコード上で.batファイルを実行する必要が出てきたのですが、
VC++で外部ファイルを実行、その結果を受け取るにはどうすればよいのでしょうか?

ちなみに使用しようと思っているバッチファイルは、juliusという音声認識エンジンです。
1.go.batからjulius.exeが起動
2.「### read waveform input enter filename->」と言う記述が出てくるので、wavファイルのファイル名を指定してエンター
3.#sentence1: ついに 、 他 団体 戦 。
#wseq1: <s> ついに:ツイニ:ついに:503 、:、:、:10 他:タ:他:188 団体:ダンタイ:団体:
#507 戦:セン:戦:520 。:。:。:8 </s>
#phseq1: silB | ts u i n i | sp | t a | d a N t a i | s e N | sp | silE
のようにcmd.exe上に結果が返ってくる。

この一連の動作を、1のファイル名をVC++上で指定し、
3のcmd.exe上で現れる分をVC++上で受け取る(CStringなりに格納する)ような方法は無いでしょうか。

もし他に良い方法をご存知の方がいましたら、教えていただければ幸いです。

VC++のコード上で.batファイルを実行する必要が出てきたのですが、
VC++で外部ファイルを実行、その結果を受け取るにはどうすればよいのでしょうか?

ちなみに使用しようと思っているバッチファイルは、juliusという音声認識エンジンです。
1.go.batからjulius.exeが起動
2.「### read waveform input enter filename->」と言う記述が出てくるので、wavファイルのファイル名を指定してエンター
3.#sentence1: ついに 、 他 団体 戦 。
#wseq1: <s> ついに:ツイニ:ついに:503 、:、:、:10 他:タ...続きを読む

Aベストアンサー

<%1 は go.batの引数1を入力とする … キーボードからの入力をリダイレクトする

2>&1は エラー出力を標準出力にリダイレクトする

>%2 は 標準出力go.batの引数2にリダイレクトする
といった意味です

> go.bat ファイル名 出力ログファイル名
このファイル名は 解析(juliusで)処理するファイルの名前です
出力ログファイル名は C/C++側で結果を受け取るためのファイル名です

"go.bat ファイル名 出力ログファイル名"
を sawn/execなどにコマンドやパラメータとして渡してやることになります

QShuriken Pro3標準のメーラーにする設定方法

いつもお世話になります。

Shuriken Pro3を使用しているのですが、
例えばHPでメールアドレスのリンクをクリックすると
OEが立ち上がってしまいます。
標準メーラーに設定したような気がするのですが。。

どこを設定したらよろしいでしょうか?

Aベストアンサー

同じくシュリケン愛用者です(^。^)
IEの後、ツール→インターネットオプション→プログラム→電子メールをシュリケンに変えるといいかと思うのですが。いかがですか?

QC,C++,C++/CLIの構造体とクラス

C++の構造体・クラスって、メンバのアクセス指定子のデフォルトが
privateかpublicかという違い「だけ」しか全くないのでしょうか?

クラスにおける
value class / ref class
という分類はC++/CLIのもので
これについては
value class の方は C言語の構造体に近いという事でいいでしょうか?

ref classの方は
ネイティブのC++のクラスを
マネージ用にしたようなもので

C++/CLIの構造体は
C++のそれと同じで
OKですか?

そしてそれらの構造体には、値型・参照型といった分類はないのでしょうか?

Aベストアンサー

> ということは、structも継承可、という事でしょうか?

structでも継承可能です。

> 継承のアクセス指定の方は
> クラスと構造体ではどうなるのでしょうか?

class A : Base {};



class A : private Base {};

と等価です。
一方、

struct A : Base {};



struct A : public Base {};

と等価です。

> そして「集成体」というのが初めて知ったのですが
> これはいわゆる、配列や・・・ある条件下でのクラス・・?
> なのでしょうか?

配列と以下の条件をすべて満たすクラスのことです。
・ユーザー定義のコンストラクタを持たない
・非公開または限定公開のメンバを持たない
・基底クラスを持たない
・仮想関数を持たない

ちなみにC言語の集成体は、配列と構造体の総称です(共用体は集成体ではありません)。

QWindowsXP pro にBuffaloのLANカードの設定方法

お世話になります。
WindowsXPのPROにBUFFALO製のLPC5-CLX-CBのLANカードをセットしたくて四苦八苦しております。
ドライバCDがなかったので、BUFFALOのサイトから当該ドライバをダウンロードして圧縮ソフト「lpc5lb」を解凍したら、「Win2000」、「LPC5LB」、「NETLP5LB」、「VER100」が解凍されました。
この先がうまくいきません。どのようにしたら良いのでしょうか。

Aベストアンサー

下記のURLを参考にしてください。

http://buffalo.jp/qa/dvd-ram_rom/make/download-otr.html

具体的に、出ています。
参考にしてください。

参考URL:http://buffalo.jp/qa/dvd-ram_rom/make/download-otr.html

QC#のコマンドラインの分割コンパイルと実行について

コマンドラインでC#のプログラムをコンパイルと実行する方法

mainが1つでsubが1の場合は以下にある。
http://d.hatena.ne.jp/taka_2/20080124/p6

mainが1つでsubが2つの場合はコマンドはどうするか。

以下に使用したコマンドを示す
csc /target:library sub1.cs
csc /target:library sub2.cs
csc /R:sub1.dll /R:sub2.dll main1.cs
とすると
error CS0246: 型または名前空間名 'sub1' が見つかりませんでした。using ディレクティブまたはアセンブリ参照が不足しています。
のエラーメッセージが表示される。

わかっている方がおりましたら、教えて下さい。

以下にプログラムを示す。
//----------------------------------------------------------------------------
// mainファイルの内容
using System ;
using System.Text;
using System.IO;
using sub1 ; // subの名前空間を指定(分割コンパイル用)
using sub2 ; // subの名前空間を指定(分割コンパイル用)

namespace main1
{
class Program
{
static void Main(string[] args)
{
int a = 10 ;
int b = 5 ;
sub1.dfsub_cs1 df1 = new sub1.dfsub_cs1() ; // sub1のクラスを確保(分割コンパイル用)
sub2.dfsub_cs2 df2 = new sub2.dfsub_cs2() ; // sub2のクラスを確保(分割コンパイル用)
Console.Write("add {0,3:D} * {1,3:D} = {2,5:D}\n", a,b, df1.multiply( a, b) );
Console.Write("add {0,3:D} / {1,3:D} = {2,5:D}\n", a,b, df2.divide( a, b) );
return ;
}
}
}

//----------------------------------------------------------------------------
// sub1ファイルの内容

namespace sub1
{
public class dfsub_cs1
{
public int multiply(int a, int b )
{
return a * b ;
}
}
}
//----------------------------------------------------------------------------
// sub2ファイルの内容
namespace sub2
{
public class dfsub_cs2
{
public int divide(int a, int b )
{
return a / b ;
}
}
}

コマンドラインでC#のプログラムをコンパイルと実行する方法

mainが1つでsubが1の場合は以下にある。
http://d.hatena.ne.jp/taka_2/20080124/p6

mainが1つでsubが2つの場合はコマンドはどうするか。

以下に使用したコマンドを示す
csc /target:library sub1.cs
csc /target:library sub2.cs
csc /R:sub1.dll /R:sub2.dll main1.cs
とすると
error CS0246: 型または名前空間名 'sub1' が見つかりませんでした。using ディレクティブまたはアセンブリ参照が不足しています...続きを読む

Aベストアンサー

> csc /target:library sub1.cs
> csc /target:library sub2.cs
> csc /R:sub1.dll /R:sub2.dll main1.cs

私の環境では示されているコマンドラインで正常にコンパイルされ
作成されたexeも問題なく実行できました。

お使いのsub1.csに本当にnamespace sub1が
定義されているかご確認ください。
きちんと定義されている場合はすべてのファイルを
フルパスで指定するとどうなるでしょうか。
sub1.cs、sub2.cs、main1.cs が c:\tempにあるとしたら

csc /target:library /out:c:\temp\sub1.dll c:\temp\sub1.cs
csc /target:library /out:c:\temp\sub2.dll c:\temp\sub2.cs
csc /R:c:\temp\sub1.dll /R:c:\temp\sub2.dll /out:c:\temp\main1.exe c:\temp\main1.cs

とか。

> csc /target:library sub1.cs
> csc /target:library sub2.cs
> csc /R:sub1.dll /R:sub2.dll main1.cs

私の環境では示されているコマンドラインで正常にコンパイルされ
作成されたexeも問題なく実行できました。

お使いのsub1.csに本当にnamespace sub1が
定義されているかご確認ください。
きちんと定義されている場合はすべてのファイルを
フルパスで指定するとどうなるでしょうか。
sub1.cs、sub2.cs、main1.cs が c:\tempにあるとしたら

csc /target:library /out:c:\temp\sub1.dll c:\temp\sub1.cs
csc...続きを読む


人気Q&Aランキング

おすすめ情報