• 締切済み

WinXP/2000でMS-Cを使うには?

訳あって、昔MS-Cで開発したプログラムの一部を修正してコンパイルしようとしています。 WinXPのDOSプロンプトでMS-C自体のインストールはしたのですが、NMAKE、NMKによるコンパイルができなくてこまっています。 NMAKEを実行すると「fatal error U1065:オプション'Z'は無効です」と表示されます。 確かにNMAKE実行時はオプションとして/Ziを指定しているのですが、これが引っかかっているようです。 PC上にはVisual C++もインストールされているのでその中のNMAKEやNMKを実行しているのではないかと思って直接MS-Cのディレクトリの中のファイルを実行しまいたが同じ現象が発生しました。 どなたか同じような経験をされていて回避手段を見つけておられる方がおいでであればアドバイスをお願いできないでしょうか? (Win98のノートPCではVC++とMS-Cが混在していても問題なくコンパイルできたのですが・・・)

みんなの回答

  • MovingWalk
  • ベストアンサー率43% (2233/5098)
回答No.2

>今度はエラーはでないのですがコンパイル結果がなにもでてきませんでした。 状況がわかりません。 NMAKEの実行時に、 ・コンパイルは正常にできていましたか? ・リンクは正常でしたか? リンクの結果はどこに出力するように設定してるんでしょう? ・その他、メッセージに何かヒントはありませんでしたか? 尚、先ほどの環境変数は例ですので、環境に合わせて変更してください。 また、別の環境変数が必要かもしれませんが、それはマニュアルを見てください。

StringBass
質問者

補足

状況をもう少し詳しく説明すると ・nmkを使用 ・nmk XXX.Makというふうに実行。  xxx.makはソースファイルと同じディレクトリに格納 ・nmkを実行するとなにも表示されない。  通常ここでコンパイル状況が表示されているはずなの  ですがなにも表示されずコマンドプロンプトが表示。 どうもnmkを実行した後、なにもしないで戻ってきているように見えます。 一応Path等は確認しましたが問題なさそうでした。 あと念のため環境変数INITにSET INIT=c:\MSC\INITとしましたが状況はかわりませんでした。

  • MovingWalk
  • ベストアンサー率43% (2233/5098)
回答No.1

>Visual C++もインストールされているのでその中のNMAKEや >NMKを実行しているのではないかと 多分そうでしょうね。PATHなどの環境変数をMS-C用に変更する必要があります。 DOSプロンプトで、MS-C用の環境変数を設定してからやってください。 具体的には、 set PATH=C:\MSC\BIN;%PATH% set INCLUDE=C:\MSC\INCLUDE set LIB=C:\MSC\LIB のように記述した、MSC.BAT を作成して、これをメイクの前に 実行すればいいはずです。

StringBass
質問者

お礼

アドバイスいただきありがとうございます。 早速試してみます。

StringBass
質問者

補足

すみません。 お礼を書いたあとにトライしたのですがうまくいきませんでした。 アドバイスにしたがってバッチを作ってやってはみたのですが今度はエラーはでないのですがコンパイル結果がなにもでてきませんでした。 (nmk自体は終わっています)

関連するQ&A

  • MS Visual C++で、Cのargv[]の使い方?

    以前「既存のCプログラムをMS Visual C++へ移行して実行したい 」という 質問をした者です。 既存のCプログラムをビルドするところまではいきました。 ****(.exe) inputfile outputfile というふうにプログラムを実行させたいのですが、 VC++の「実行」ボタンでは入出力ファイルを指定するところが わかりません。 (「実行」ボタンを押すと、DOS窓が開いて、「inputfile outputfile」 を入力する暇も無くエラーになって終了します) MS固有の関数はできるだけプログラムに入れたくないのです。 ソフト(VC++)の設定で入出力ファイルを指定する方法を 教えてください。

  • C言語で作られたMS/DOSプログラムをLinux用にリニューアルできますか

     C言語で作られたMS/DOSアプリケーションのソースがもし残っていたら、  Linux用にリニューアルすることは可能でしょうか。  まだ、思いつきの段階で詳しい状況も未調査なのですが、お付き合いお願いします。(分からないことだらけ…)  MS/DOSで数値を扱う割と簡単なシステムであること(と言っても自分で組むとしたら気が遠くなりそうなシステムです)。  MS/DOSのシステムがC言語で作られたかは分かりません。C言語以外には何がありますか。  1からシステムを作りなおすこともできるのでしょうが、そのMS/DOSのシステムを作った会社にリニューアルしていただきたいと考えている。ソースは残っているでしょうか?10年以上経っていると思う。  MS/DOSのシステムのハードが極度に老朽化している。  LinuxベースでC言語で作られたシステムなら、流行に左右されることなく長い年月使えるシステムになる予感がするのですがどうでしょうか。  システムを作る会社に言語を指定することはできるのかどうか。  もし、MS/DOSでソースファイルをコンパイルして実行ファイルを作っているなら、そのソースファイルを Linux上でコンパイルして実行ファイルを作れば、同じように動くのではないかと安易に考えています。手直しなどは必要なのでしょう。 仕事の内容は変わっていないので1から作りなおすなんてもったいないと思うのですが。  また、もし、C言語で作っていたら、これから将来、仕事の内容に追加事項が加わっても、積み重ねて行けるような気がするのですがどうでしょうか。  すみません。まとまらない文章になってしまいましたが、C言語なら、MS/DOSでも、Linuxでも同じようにコンパイルして、実行ファイルを作れて、また、Linuxがバージョンアップしてもソースファイルがあれば、同じように実行ファイルを作って行けるのかどうか。教えて下さい。     

  • Visual Cについて教えてください

    MS Visual Cを使っています。MS-DOSプロンプトでプログラムをコンパイルするのにclというコマンドを使えるようですが設定方法がわかりません。MS Visual Cで用意されたコマンドを使えるようにするための設定方法を教えてください。OSがWindows NTと98,Meそれぞれの設定の仕方を教えていただけるとありがたいです。

  • MS-FlexGridのライセンスについて

    とあるアプリケーションにMS-FlexGridを使用してセル(グリッド)をつけました。 開発環境(VC++6.0)での表示自体は上手くいったのですが、VCがインストールされていないPCではセル(グリッド)が表示されません。 ライセンスキーの書き込みが必要なことをネットで見つけたのですが、C++6.0で設定する方法が見つかりませんでした。 開発環境(VC++6.0)のインストールされていないPCで、セル(グリッド)表示できる方法はあるのでしょうか? 一応やりたいことをまとめます ・Windows2000_SP4以上で動作させたい ・開発環境はVisual C++6.0で行う ・MS-FlexGrid(ocx)を使用する ・インストール先のPCにはVisualStadio.MS-Office等はインストールされていない(しない) ・インストール時にはocxのレジストリ登録はしない(exeを立ち上げるだけで動作させたい) もしMS-FlexGridで不可能な場合は、他に行えそうなグリッドを教えていただければと思います。

  • C# exeファイルのダブルクリック

    C#でプログラミングをはじめてみました。visual c#はインストールしていなくてcscでコマンドラインからコンパイルしています。 formが表示されるプログラムを作ったのですが、exeファイルをダブルクリックするとdos窓の上にformが表示されて実行されます。 dos窓の上にformが表示されるのが気に入りません。どうすれば、dos窓を表示させないで、formだけを表示させることができるのでしょうか?

  • 64ビット コマンドライン Cプログラミング

    私の環境は以下のとおりです CPU x6800 メモリ 8GB Vista 64 sp1 Visual studio 2005 やりたいことは、コマンドプロンプト[ > ] で 大きな配列 char dem[1000][1000][2000] を使うCプログラムを作成し使用すること。 質問したいことは、 コマンドラインの環境設定(PATH: bin lib include) コンパイラ リンカ の/オプション はどのように設定したらよいのでしょうか。 現状は work.c のコンパイル+リンク で work.exe はエラーなく成功するのですが 実行すると、{ work.exeは有効な win32 アプリケーションではありません。} というエラーが出て実行できません。 配列の要素を2000->1000にすればもちろんエラーは出ません。 なおこのときのコマンドプロンプトは  Visual Studio 2005 x64 Win64 コマンド プロンプト PATH は次のようになっています。 PATH=C:\Program Files (x86)\Microsoft Visual Studio 8\VC\BIN\amd64;  C:\Program Files (x86)\Microsoft Visual Studio 8\VC\PlatformSDK\bin\win64\amd64;  C:\Program Files (x86)\Microsoft Visual Studio 8\VC\PlatformSDK\bin;  C:\Windows\Microsoft.NET\Framework64\v2.0.50727;  C:\Program Files (x86)\Microsoft Visual Studio 8\VC\VCPackages;  C:\Program Files (x86)\Microsoft Visual Studio 8\Common7\IDE;  C:\Program Files (x86)\Microsoft Visual Studio 8\Common7\Tools;  C:\Program Files (x86)\Microsoft Visual Studio 8\Common7\Tools\bin;  C:\Program Files (x86)\Microsoft Visual Studio 8\SDK\v2.0\bin;  C:\Windows\system32;C:\Windows;  C:\Windows\System32\Wbem;  C:\Windows\System32\WindowsPowerShell\v1.0\ 先達のご教示をお願いいたします。

  • 既存のCプログラムをMS Visual C++へ移行して実行したい

    同じような質問がでていましたら、すみません。 いままでWS(unix)で作っていたC言語のプログラムをWindowsで実行しようと しています。 Microsoft Visual C++ 6.0 Proを購入し、 新規でプロジェクトを作成するところで止まってしまいました。 「プログラムをコンパイルして、あるバイナリファイルを読み込み、 指定したファイルへ結果を書き込む」 という操作がしたいのですが、プロジェクトの種類はどれにすればいいのでしょうか? また、ファイルを読み込む際、メインと関数は別のファイルになっているの ですが、コンパイルはどのように指定すればいいのでしょうか? もうひとつ、今までargv[]で入出力ファイルを指定していました。 # (メイン)(入力ファイル) (出力ファイル)のように この処理はVC++でできるのでしょうか? VC++の入門の本を購入したのですが、Cのプログラムについては なかなか載っていないので困っています。 よろしくお願いします。

  • FORTRANとC++の連動について

    私は,Fortranを用いて解析の業務をしている,プログラム初心者です。 購入したのは,Intel Visual Fortran8.0(VF)ですが,Windows環境でコンパイルリンクするには,Microsoft Visual C++ .NET 2003(VC++)が必要ということで,こちらも購入しました。 普段は,Fortranのコンソールで ifort **.f といったコマンドでコンパイルリンクし,実行しているだけです。 これからは,VC++の方に移行していきたいと考えていますが,しばらくはFortranで作成したサブルーチンを有効活用したと考えています。 そこで,VC++ベースのメインプログラムからFortranのサブルーチンを呼び出すプログラムの作成方法,コンパイルリンク方法をご教授ください。よろしくお願いします。 (1)ソースにどう記述するか? void CMyDlg::OnBnClickedOk() { ここで,FORTRANのサブルーチンを呼び出したい。     Fortranなら call subroutine( a, b ) } (2)コンパイルするときは, Visual Studio開発環境で,コンパイル→実行で良いのか? それとも,あらかじめVC++とVFで.objファイルを作成する必要があるのか?

  • 「Microsoft Visual C 6.0」について

    VC6.0で作成しているソフトを修正したいのですが、 そもそも「Microsoft Visual C 6.0」という製品は 「Microsoft Visual C++ 6.0」のことでしょうか。 VC++6.0の中にVC6.0があるのでしょうか。 VC6.0の開発をするために必要なソフトと インストール方法を教えて下さい。

  • .NETでのコンパイルの方法。(C)

    Microsoft Visual C++でCのコンパイル・実行方法を教えてください。 環境 WindowsXP Pro Visual Stusio ,NET DevelopmentEnvironmental(?) 雑誌についていた60日間の評価版です。 学校でCをし始めたので、これを機に.NETを購入(アカデミック版) しようと思っているのですが、.NET上でのコンパイル・実行の仕方が 分かりません。 今は6.0でのコンパイルorコマンドプロンプト上で行っています。 .NETでは「ファイル」-「新規作成」-「ファイル」-「ファイル」 -「C++ファイル」を選択し、保存時にファイルの種類を「c」にしている のですが、コンパイルの方法が分かりません。 (F7もできなさそうだし) ご存知の方がいらっしゃいましたら教えてください。

専門家に質問してみよう