- 締切済み
「utime.h が見つからない」エラーにはどう対処? Boland C v5.5無料版 on win2000 DOS窓
ある上手な人が書いた、Cソース一式があります。便利なCソースなので手を加えてコンパイル・リンクしたいです。内容はある科学dataの変換プログラムです。*.cファイルが15個ぐらい、*.hが4個ぐらい。全体でざっくり1000行ほどあります。 手元に、無料版Borland C v5.5 があります。Windows2000で、コンパイル・リンクをWindows2000のDOS窓で、試みました。が、「utime.h が見つからない」エラーになります。他のincludeファイルはうまく取り込まれています。事実、*.hファイルがある include/sys を見てみると、確かに、include/sys/utime.h は存在しません。(time.hなど4つのファイルが存在していましたが)。。。 こういう場合、どうしたら良いでしょうか?研究室のどこかに転がっているUNIXマシンから、include/sys/utime.h をコピーしてきて、windows2000の中で、上記Borland C v5.5 のinstallされたdirのinclude/sysに、さりげなく、copyしておけば、その後、コンパイルリンクはOKになるという、そういう簡単な話なのでしょうか? それともこのcopyは何か問題がありそうでしょうか。それともぜんぜん検討違いでしょうか。 どこかに転がっているUNIXマシンの前に座りなおして、そこで開発するというのはできれば避けたいです。 どうかよろしくお願い致します。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- uyama33
- ベストアンサー率30% (137/450)
ある上手な人が書いた、Cソース一式があります。 1.この上手な人に連絡を取り、使用許可をもらう。 2.ついでに、ヘッダーファイルをメールに添付してくれるようにお願いする。 3.あくまでも丁寧に頼む。 4.お金儲けはしない旨を明記する。 5.完成して暁には自分もフリーウエアで公開することを約束しておく。 これで、上手くゆくと思います。 頑張って下さい。
- a-kuma
- ベストアンサー率50% (1122/2211)
単純にインクルードファイルを持ってくるだけでは駄目だと思います。 utime.h は、ファイルのアクセス時刻を変更するシステムコール utime() のために 用意されているインクルードファイルです。 「ある上手な人」が書いたプログラムであれば、不要なインクルードファイルを記述している とは思えないので、実際に utime() というシステムコールをプログラム中で使っているはず です。 インクルードファイルを持ってきた場合には、コンパイルは通るはずですが、その後のリンクで utime() が無いわけですから、今度はリンクエラーになります。 方針としては以下の三つ。 A) どこかに転がっている unix マシン上で開発(telnet があるのですから、自席で大丈夫?) B) utime() を自分で実装してしまう C) utime() を使って実現している機能をあきらめて、元のソースから utime() を使っている箇所を削除してしまう # 私なら、Bかな。
お礼
ありがとうございます。私もBをしたいですが、敷居が高いです。
- nipotan
- ベストアンサー率59% (134/227)
手元の Borland C++ 5.5.1 for Win32 では、utime.h は include にあります。 bin/bcc32.cfg に -I オプションで include/sys なんて組み込んでます? 逆に include は含んでないですか? (それとも、コマンドラインから -I 指定してるとか?) もし #include "sys/utime.h" って記述になってるなら、 #include <utime.h> になおしてからコンパイルしてみてください。
お礼
1)「bin/bcc32.cfg に -I オプションで include/sys 」を「組み込んで」いました。 2)「もし #include "sys/utime.h" って記述になってるなら」→なっていましたので、「#include <utime.h> になおしてからコンパイルしてみ」ました。 期待どおり、utime.hが見つからないというエラーは出なくなりました。ところが、構造体 _utimebufが見つからない、など、のエラーが表示されるようになりました。 どうもありがとうございました。
お礼
ありがとうございます。苦手なのですががんばってみます。