- ベストアンサー
ヘッダのinclude LSI試食版
はじめまして。 よろしくお願いします。 コンパイラー:LSI C-86 Ver.3.30 試食版 OS:Windows Me includeフォルダの中にあるヘッダ以外に 新しいヘッダnew.hを \lsic330c\INCLUDEフォルダの中にいれて 1.cというファイルで #include<new.h> としてみたのですが、 コンパイル時にlcc 1.cとしてみても 1.c 1: ファイル new.hがオープンできない(No such file or directory) というエラーがでてしまいます。 よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
回答自体は#1の方がずばり書かれているので、 質問からはちょっと離れて補足を… 自分で作ったオリジナルのヘッダは、 よっぽど汎用性があるものでない限り、 ソースと同じディレクトリに入れてしまった方がいいですよ。 でないと、あとでゴチャゴチャしちゃうので。 #include <new.h> はコンパイラに指定されているディレクトリをまず調べ、 #include "new.h" ならカレントディレクトリをまず調べます。 きっちり使い分けると、後で見やすいですよ。
その他の回答 (2)
- quenista
- ベストアンサー率28% (122/425)
>autoexec.batにインクルードのパスを追記する事なのでしょうか? 一応、念の為...。 パスの追記と言っても、「path=」に追記する訳では有りません。 set INCLUDE=<インクルードパス> set LIB=<ライブラリパス> の追記を行います。 又、他のコンパイラと重複して使ってる場合には、「autoexec.bat」に足さずに、別のバッチファイルを作って、LSI C用のDOSプロンプトショートカットを作成して起動指定に追記する方法か、 LSI Cのコンパイル指定ファイルに記述する方が良いと思います。
- quenista
- ベストアンサー率28% (122/425)
インクルードのパスが通ってないのですね。 path設定に、インクルードとライブラリのパスを追記するか、 コンパイル時のオプションに、 -I<インクルードパス> -L<ライブラリパス> を追記して見て下さい。
お礼
quenistaさん、fatal_errorさん、 迅速なご解答ありがとうございました。 #include"new.h" とする事でカレントからrequireできました。 あと1点、気になる点なんですが、 >path設定に、インクルードとライブラリのパスを追記するか、 というのは、C:\autoexec.batにインクルードのパスを追記する事なのでしょうか?