K.Maebashi's BBS

ご自由に書き込んでください。雑談も可。
テスト書き込みの類はテスト用掲示板にどうぞ

[日付順表示] [日付順インデックス] [スレッド順インデックス]

新規投稿 | 開設者ホームページへ戻る | ヘルプ

[1169] Re:Linuxコンパイルエラー
投稿者:つよし
2008/12/30 15:21:44

前橋さん ありがとうございます。 $ sudo aptitude install bison $ sudo aptitude install flex $ pwd /home/tntn/Desktop/diksam_unix/main $ make 以上で diksam を作成できました。 diksam がうまく動くか 試したいのですが?
[この投稿を含むスレッドを表示] [この投稿を削除]
[1168] Re:Linuxコンパイルエラー
投稿者:(ぱ)こと管理人
2008/12/30 13:31:04

つよしさん、はじめまして。 >debian lenny でコンパイルエラーになります。 >何が足りないのでしょうか? >gcc は、4.3 ヴァージョンをインストールしました。 >$ make … >make[1]: yacc: コマンドが見つかりませんでした 見てのとおり、yaccが入っていません。 Debianなら、bisonをパッケージインストールすれば、シンボリックリンクを 勝手に作って、「yacc」で実行できるようになったような気がします。 gccやyaccが標準で入っていない環境なら、おそらくlexも入っていないでしょうから、 flexも入れる必要がありそうです。 もし、bisonやflexは入れたけれど「yacc」や「lex」としては実行できない、 ということなら、compilerディレクトリ以下のMakefileを修正し、 yacc -dv diksam.y となっているところ(2箇所)を、 bison --yacc -dv diksam.y に、 lex diksam.l となっているところを flex diksam.l にしてください。 それはそれとして、 >(Linux版では、Uフォーは、ダメですか?:入門者) 残念ながらダメです……
[この投稿を含むスレッドを表示] [この投稿を削除]
[1167] Linuxコンパイルエラー
投稿者:つよし
2008/12/30 01:33:32

前橋さま debian lenny でコンパイルエラーになります。 何が足りないのでしょうか? gcc は、4.3 ヴァージョンをインストールしました。 (Linux版では、Uフォーは、ダメですか?:入門者) $ make cd ../compiler; make; make[1]: ディレクトリ `/home/tntn/Desktop/diksam_unix/compiler' に入ります yacc -dv diksam.y make[1]: yacc: コマンドが見つかりませんでした make[1]: *** [y.tab.h] エラー 127 make[1]: ディレクトリ `/home/tntn/Desktop/diksam_unix/compiler' から出ます make: *** [../compiler/compiler.o] エラー 2 $
[この投稿を含むスレッドを表示] [この投稿を削除]
[1166] Diksam on Windows
投稿者:つよし
2008/12/30 01:21:04

前橋さま ウィンドウズ版Diksamの公開おめでとうございます。 Uフォーの絵 見ました。それが動いたりするのですか?すごい!! Linuxから書き込んでいますが、Linuxでは、Uフォーは出来ないのかな?
[この投稿を含むスレッドを表示] [この投稿を削除]
[1164] Re:前橋言語:on MacOSX
投稿者:(ぱ)こと管理人
2008/11/12 02:00:49

こんにちは。 >前橋言語の作例は、ありませんか? すみません、今のところサンプルプログラムとしては配布ディレクトリの compiler/test以下にあるものぐらいしかないです。 >パズルとか電卓とか? >前橋さんの電卓ネタを前橋言語で書き換えるとか? Diksam用のyaccはないので、再帰下降パーサを手書きすれば電卓ぐらいは 作れそうではありますが、文字列処理の手段がsubstr()しかなくて、 もちろんそれでもできますけれど効率が悪いので、"abc"[2]で'c'が取れるように したりとか、当然同時に文字リテラルも必要になって、とか、 いずれにしてもライブラリがこれではたいした物は作れないのでライブラリを 補強して、とか、やりたいことはいくつもありますし実現も難しくないのですが、 何をするにも時間が不足しております。 ライブラリの方は現在追加してまして、近々、何かしらちょっとは楽しいプログラムが 作れるようにしようとは思っているのですが。 すみません、Macユーザのたろうさんには大変申し訳ないのですが、今度追加される ライブラリ部分は当面Windows専用になります…
[この投稿を含むスレッドを表示] [この投稿を削除]
[1163] Re:前橋言語:on MacOSX
投稿者:たろう
2008/11/11 15:40:20

管理人(前橋)さま 前橋言語の作例は、ありませんか? パズルとか電卓とか? 前橋さんの電卓ネタを前橋言語で書き換えるとか?
[この投稿を含むスレッドを表示] [この投稿を削除]
[1162] Re:前橋言語:on MacOSX
投稿者:(ぱ)こと管理人
2008/11/08 13:23:28

>>$(CC) $(CFLAGS) -o $@ -I../../include builtin_conv.c $(CONV_OBJS) >> ↑ >> >>としてやればうまくいくのではないでしょうか。 > >前橋さん >コンパイル通りました。 情報ありがとうございます。次回リリースからは、Makefileを修正しておきます。 Macでも動いたということで、嬉しいです。
[この投稿を含むスレッドを表示] [この投稿を削除]
[1161] Re:前橋言語:再帰
投稿者:たろう
2008/11/08 02:24:05

再帰も出来ますね!あたりまえ? 何か使えそうな気配です!! $ vi saiki int fact(int n) { if (n==0) { return 1; } else { return n*fact(n-1); } } println(fact(3)); println(fact(4)); println(fact(5)); println(fact(10)); $ diksam saiki 6 24 120 3628800 $
[この投稿を含むスレッドを表示] [この投稿を削除]
[1160] Re:前橋言語:on MacOSX
投稿者:たろう
2008/11/08 01:21:37

> >ここでこういうエラーが出ているということは、diksamの展開ディレクトリ以下の、 >compiler/builtinディレクトリのMakefileの20行目の > >$(CC) $(CFLAGS) -o$@ -I../../include builtin_conv.c $(CONV_OBJS) > >の「-o$@」の「-o」と「$@」の間に空白を入れ、 > >$(CC) $(CFLAGS) -o $@ -I../../include builtin_conv.c $(CONV_OBJS) > ↑ > >としてやればうまくいくのではないでしょうか。 前橋さん コンパイル通りました。 感謝、感激です。 ありがとうございます。 試してみました。 スキル不足でこんなのでいい? ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ $ vi ppp.dk println("hello, たろう."); int s = 0; int i; for (i=1; i<=10; i=i+1) { s += i; print(i); println(" たろう"); } $ diksam ppp.dk hello, たろう. 1 たろう 2 たろう 3 たろう 4 たろう 5 たろう 6 たろう 7 たろう 8 たろう 9 たろう 10 たろう $ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 以上。
[この投稿を含むスレッドを表示] [この投稿を削除]
[1159] Re:前橋言語:on MacOSX
投稿者:(ぱ)こと管理人
2008/11/08 00:41:46

こんにちは。 > マックosx で、コンパイルしたいのですが可能ですか? >powerpc g3 インテルマックでは、ありません。 (略) >ld: unknown flag: -obuiltin_conv MacOS XのCコンパイラがどんなコンパイラなのか私は知らないのですが、 「-obuiltin_conv」というオプションはないよ、というエラーを出しています。 ここは、「-o」というフラグで実行形式の名前を指定しているところで、 私の知っているたいていのコンパイラでは、-oの後ろに空白を入れても入れなくても OKでした。 ここでこういうエラーが出ているということは、diksamの展開ディレクトリ以下の、 compiler/builtinディレクトリのMakefileの20行目の $(CC) $(CFLAGS) -o$@ -I../../include builtin_conv.c $(CONV_OBJS) の「-o$@」の「-o」と「$@」の間に空白を入れ、 $(CC) $(CFLAGS) -o $@ -I../../include builtin_conv.c $(CONV_OBJS) ↑ としてやればうまくいくのではないでしょうか。 確証はありませんが >ld -r -o mem.o memory.o storage.o このへんでは-oオプションがちゃんと効いているところからすると可能性は 高いと思います。 実際に試してくださった方がいらっしゃると励みになります。ありがとうございました。
[この投稿を含むスレッドを表示] [この投稿を削除]
[1158] 前橋言語:on MacOSX
投稿者:たろう
2008/11/07 20:04:47

diksam_0_4_unix.tgz 前橋さま  マックosx で、コンパイルしたいのですが可能ですか? powerpc g3 インテルマックでは、ありません。 makeの実行画面を示します。 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ $ tar zxf diksam_0_4_unix.tgz $ ls diksam_0_4_unix.tgz diksam_unix/ $ cd diksam_unix/compiler/ $ make yacc -dv diksam.y lex diksam.l cc -c -g lex.yy.c -I/usr/local/include -I../include cc -c -g y.tab.c -I/usr/local/include -I../include cc -c -g -Wall -ansi -Wswitch-enum -DDEBUG main.c -I/usr/local/include -I../include cc -c -g -Wall -ansi -Wswitch-enum -DDEBUG interface.c -I/usr/local/include -I../include cc -c -g -Wall -ansi -Wswitch-enum -DDEBUG create.c -I/usr/local/include -I../include cc -c -g -Wall -ansi -Wswitch-enum -DDEBUG fix_tree.c -I/usr/local/include -I../include cc -c -g -Wall -ansi -Wswitch-enum -DDEBUG generate.c -I/usr/local/include -I../include cc -c -g -Wall -ansi -Wswitch-enum -DDEBUG string.c -I/usr/local/include -I../include cc -c -g -Wall -ansi -Wswitch-enum -DDEBUG wchar.c -I/usr/local/include -I../include cc -c -g -Wall -ansi -Wswitch-enum -DDEBUG util.c -I/usr/local/include -I../include cc -c -g -Wall -ansi -Wswitch-enum -DDEBUG error.c -I/usr/local/include -I../include cc -c -g -Wall -ansi -Wswitch-enum -DDEBUG error_message.c -I/usr/local/include -I../include cc -c -g -Wall -ansi -Wswitch-enum -DDEBUG builtin/builtin.c -I/usr/local/include -I../include cd ../dvm; make; cc -c -g -DDEBUG -Wall -ansi -Wswitch-enum -I../include execute.c cc -c -g -DDEBUG -Wall -ansi -Wswitch-enum -I../include load.c cc -c -g -DDEBUG -Wall -ansi -Wswitch-enum -I../include heap.c cc -c -g -DDEBUG -Wall -ansi -Wswitch-enum -I../include native.c cc -c -g -DDEBUG -Wall -ansi -Wswitch-enum -I../include nativeif.c cc -c -g -DDEBUG -Wall -ansi -Wswitch-enum -I../include wchar.c cc -c -g -DDEBUG -Wall -ansi -Wswitch-enum -I../include util.c cc -c -g -DDEBUG -Wall -ansi -Wswitch-enum -I../include error.c cc -c -g -DDEBUG -Wall -ansi -Wswitch-enum -I../include error_message.c ld -r -o dvm.o execute.o load.o heap.o native.o nativeif.o wchar.o util.o error.o error_message.o cd ../share; make; cc -c -g -I../include -DDEBUG -Wall -ansi -Wswitch-enum -I../include dispose.c cc -c -g -I../include -DDEBUG -Wall -ansi -Wswitch-enum -I../include opcode.c cc -c -g -I../include -DDEBUG -Wall -ansi -Wswitch-enum -I../include disassemble.c cc -c -g -I../include -DDEBUG -Wall -ansi -Wswitch-enum -I../include wchar.c cc -c -g -I../include -DDEBUG -Wall -ansi -Wswitch-enum -I../include util.c ld -r -o share.o dispose.o opcode.o disassemble.o wchar.o util.o cd ../memory; make; cc -c -g -DDEBUG -Wall -I../include memory.c cc -c -g -DDEBUG -Wall -I../include storage.c ld -r -o mem.o memory.o storage.o cd ../debug; make; cc -c -g -Wall -DDBG_NO_DEBUG -I../include debug.c ld -r -o dbg.o debug.o cd ./builtin; make; cc -g -DDEBUG -Wall -ansi -Wswitch-enum -obuiltin_conv -I../../include builtin_conv.c ../../memory/memory.o ../../debug/debug.o ld: unknown flag: -obuiltin_conv make[1]: *** [builtin_conv] Error 1 make: *** [diksam] Error 2 $ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[この投稿を含むスレッドを表示] [この投稿を削除]
[1157] Re:業務連絡
投稿者:(ぱ)こと管理人
2008/10/29 01:47:37

ローカルにPHP5の環境を作ったのですが、デフォルトのphp.iniの設定が違いすぎていて、まだ一部動かせていません。 magic_quotes_gpcはOffだわ(これは正しいのですが)、asp_tagsはOffだわ、short_open_tagもOffだわで、これではサーバがPHP5に移行した際、どんな設定になっているかが問題のように思います。 ……と思っていたら、どうもPHPの移行には混在期間があって、当面は今のままで動くようです(PHP5にしたければ拡張子を変えろと)。なので今日はもう寝ます。
[この投稿を含むスレッドを表示] [この投稿を削除]
[1156] 業務連絡
投稿者:(ぱ)こと管理人
2008/10/27 02:12:04

この掲示板(を含むうちのWebページ一式)をホスティングしてくれている会社から、 以下の通知が来ました。 >この度、Zend社のPHP4サポート終了の告知を受けまして、サーバーシステムの >保全のため、PHP5へのアップデートを行います。全共用サーバーにおきまして、 >PHP4のご利用ができなくなります。至急設置スクリプトの対応状況をご確認、 >更新をお願いいたします。 この通知が来たのはだいぶ前のことなのですが、いろいろあって放置しているうちに、 変更の期日が10/29に迫ってしまいました。 この掲示板を作った時点の環境は当時のPCが壊れた時点で失われていて、 今現状のLet's Noteの環境にPHPとApacheを入れてみたのですが、まだPHPが 動かせていないようです。 もうちょっといじってみるつもりですが、10/29の時点でこの掲示板が動かなく なっていたら、それが原因とお考えくださいませ。
[この投稿を含むスレッドを表示] [この投稿を削除]
[1155] Re:プログラミングコンテスト
投稿者:(ぱ)こと管理人
2008/10/27 01:25:13

>(ぱ)さんが、賞金1万円出して >(ぱ)さんが作ったOSで、プログラミングコンテストをする。 OSを作った覚えはないので、プログラミング言語ですかね。 1万円というと、いにしえのBASICマガジンの原稿料がそれぐらいだったと思います。 ベーマガ相当のプログラムが集まるのなら、最優秀賞に1万円くらい出すのは 惜しくないですが、結局ほとんど集まらず、hello, worldに1万円出すハメに なったりして。
[この投稿を含むスレッドを表示] [この投稿を削除]
[1154] プログラミングコンテスト
投稿者:つんつん
2008/10/26 19:02:23

(ぱ)さんが、賞金1万円出して (ぱ)さんが作ったOSで、プログラミングコンテストをする。 無責任な書き込みでした。本気!
[この投稿を含むスレッドを表示] [この投稿を削除]
[1153] Re:makeファイル中のリダイレクト
投稿者:tos
2008/08/28 17:32:49

今回実行していた「app.exe」が処理が成功しているにもかかわらず、 '1'を返していたため、makeが その戻り値を検出し、処理を停止してしまって いたようです。 ('-'を付加することにより逃げました。) 774RRさんありがとうございました。
[この投稿を含むスレッドを表示] [この投稿を削除]
[1152] Re:makeファイル中のリダイレクト
投稿者:tos
2008/08/28 15:01:40

返信、ありがとうございます。 >なので app.exe target.dat 0<source.dat は本質的に正しい入力であって、 なるほど、そうなんですか。 >なので 0< となるのは「実行できない」の原因ではないと思われまっする。 >「実行できない」の詳細について記載がないのでこれ以上の判断は出来ません。 >本体プログラム側のバグを疑ってください。 今回実行したい「app.exe」が特にエラーメッセージを表示せず、 何故実行できないのかわからなかったため、この'0'が付加することによるのかな と想像してしまいました。 仰るとおり、本体プログラム側を疑って調査してみます。 ありがとうございました。
[この投稿を含むスレッドを表示] [この投稿を削除]
[1151] Re:makeファイル中のリダイレクト
投稿者:774RR
2008/08/28 13:29:05

標準入力のリダイレクトは < で行うのですがこれは本来 0< の略記なのです。 http://itpro.nikkeibp.co.jp/article/COLUMN/20060228/231093/ たとえば un*x のコンソール上では $ cat hoge.txt Hoge! $ cat 0<hoge.txt Hoge! $ // と、このように同じ動作をするのが正常な動きでありんす。 んで XP/2000 のコマンドプロンプトである cmd.exe もこの表記を受け付けます。 D:\MYWORK>cat 0<hoge.txt Hoge! D:\MYWORK> なので app.exe target.dat 0<source.dat は本質的に正しい入力であって、 期待したとおりに動くはずです。実際俺のところでは cmd.exe bash.exe の両方で このように0<と手入力しても期待通りの正しい動きをします。 さてここまで納得していただけたでしょうか。この例の場合、バッチファイル中には < としか書いていないリダイレクト記号を、誰かが勝手に (make がやっているのか cmd.exe がやっているのか、他の誰かかは不明) 0< と置換しているわけです(実害ないけど妙なことをやってるよね・・・) 0< となっていても俺んとこでは期待通り動作しています。 なので 0< となるのは「実行できない」の原因ではないと思われまっする。 「実行できない」の詳細について記載がないのでこれ以上の判断は出来ません。 本体プログラム側のバグを疑ってください。
[この投稿を含むスレッドを表示] [この投稿を削除]
[1150] Re:makeファイル中のリダイレクト
投稿者:tos
2008/08/28 10:00:12

cygwin をインストールして確認しましたが、 やはり、Borlandのmakeと同じ結果でした。 確認方法は、下記のようなmakefile及び バッチファイルを用意して、 (ダミーの"source.dat"と"app.exe"も用意して) --- makefile -------------------- target.dat : source.dat test.bat --------------------------------- --- test.bat -------------------- app.exe target.dat < source.dat --------------------------------- cygwin上?でmakeを実行しました。 すると、やはり'<'の前に'0'が付加されます。 --------------------------------- $ make test.bat app.exe target.dat 0<source.dat ~ --------------------------------- 何故でしょうか? 環境は、下記です。 GNU make 3.81 Windows XP Professional Version 2002 Service Pack 2
[この投稿を含むスレッドを表示] [この投稿を削除]
[1149] Re:makeファイル中のリダイレクト
投稿者:tos
2008/08/26 14:25:45

>file1.hoge ではなく hoge1.txt みたいに8文字ドット3文字以下の >過去互換性重視なファイル名に変えてみると良いかもしれん、ということぢゃ >直るかもしれんし、直らんかもしれん。どっとはらい。 理解できました。ありがとうございました。 引き続き試してみます。
[この投稿を含むスレッドを表示] [この投稿を削除]
[1148] Re:makeファイル中のリダイレクト
投稿者:774RR
2008/08/26 13:51:52

ちなみに GNU make はソースコード提供なので開発環境がないと作れない make 自体は開発環境の一部であり、これがうまく動かないのではコンパイルできない という自己矛盾の状況に陥るわけだ。 cygwin 開発環境一式持ってくるほうが結局面倒が無いかも知れんっす。 そーすると gcc コンパイラ自体も入手できちゃうので某の出番は無い可能性が・・・ 掲示板のスペースで cygwin の解説など不可能っぽいので http://journal.mycom.co.jp/special/2002/cygwin/index.html
[この投稿を含むスレッドを表示] [この投稿を削除]
[1147] Re:makeファイル中のリダイレクト
投稿者:774RR
2008/08/26 13:42:30

むかしむかし、あるところに MS-DOS というものがあってのぉ MS-DOS ではファイル名に「8文字以下 ドット 3文字以下」しか使えなかったのぢゃ その関係でなぁ、 Win95 以後のソフトでも8文字ドット3文字のファイル名しか 扱えないような、そーいう過去互換性重視なモノもあったのぢゃよ # 某の make がそういう過去互換重視なものかどうかは知らんがのぉ hoge.exe は4文字ドット3文字だから問題ない file1.txt は5文字ドット3文字だから問題ない のぢゃが file1.hoge や file2.piyo は5文字ドット4文字なのでな、 過去互換性重視なソフトに取っては非互換なファイル名なのぢゃよ file1.hoge ではなく hoge1.txt みたいに8文字ドット3文字以下の 過去互換性重視なファイル名に変えてみると良いかもしれん、ということぢゃ 直るかもしれんし、直らんかもしれん。どっとはらい。
[この投稿を含むスレッドを表示] [この投稿を削除]
[1146] Re:makeファイル中のリダイレクト
投稿者:tos
2008/08/26 12:45:39

返信ありがとうございます。 GNU makeで試してみます。 ただ、 >俺の Makefile のように 8.3 コンパチなファイル名で試してみること推奨 この意味がわかりませんので、よろしければ教えてください。
[この投稿を含むスレッドを表示] [この投稿を削除]
[1145] Re:makeファイル中のリダイレクト
投稿者:774RR
2008/08/26 12:26:34

cat > Makefile <<EOF file1.txt: file2.txt hoge <tab>./hoge file1.txt < file2.txt hoge: hoge.c EOF ということで GNU make で試したけど無問題っす (HPUX11.11 と cygwin) borland の make ではなく GNU make で試してみませう 某の make がどうしてもいい、ってことなら 俺の Makefile のように 8.3 コンパチなファイル名で試してみること推奨
[この投稿を含むスレッドを表示] [この投稿を削除]
[1144] makeファイル中のリダイレクト
投稿者:tos
2008/08/26 10:27:15

皆さんこんにちは、tosです。 makeファイル中で以下のように リダイレクトを要求するexeを実行したいのですが、 正常に実行できません。 ------------------------------------------- FILE1.HOGE : FILE2.PIYO Hoge.exe FILE1.HOGE < FILE2.PIYO ------------------------------------------- 「正常に実行できません」の内容は、最初エラー メッセージのみでわからなかったんですが、 ためしに、上記の2行目をBAT呼び出しにしたところ、 下記のように何故かリダイレクト起動に前に'0'が 付加されていました。 ------------------------------------------- Hoge.exe FILE1.HOGE 0<FILE2.PIYO ------------------------------------------- この'0'は何故付加されるのでしょうか? ちなみに、makeは「BorlandのVersion 5.2」 を使用しています。
[この投稿を含むスレッドを表示] [この投稿を削除]
[1143] Re:テストBBSが
投稿者:(ぱ)こと管理人
2008/08/02 14:09:00

どうもです。遅くなりましてすみません。 774RRさん: >テストBBSが広告だらけですが、どうせテストだし管理しない方針でしょうか? >ほげほげ認証だけでもつければまた違いそうですが すみません、面倒なので放置しています。 表掲示板とテスト掲示板は同じプログラムで、GETパラメタで動きを変えている だけなので、ほげほげ認証はテスト掲示板にも付いています。 ほげほげ認証導入以後、日本語以外のspamはまったくないようなので、 人力で書いているんですかね。 yuyaさん: >というわけでテスト板見ようとしたんですが、Firefoxでは >>「テスト書き込みの類はテスト用掲示板にどうぞ。」 >のリンクが効いておらず見に行けませんでした。 このメッセージははD/Bに入っていて、掲示板作成用のWeb画面は作ったものの 更新画面がなくて、放置してしまっていました。すみません。 今、手でSQLを書いて更新したのですが… センタリングを忘れました。 これから出かけるのですみませんがひとまずこの状態で。
[この投稿を含むスレッドを表示] [この投稿を削除]
[1142] Re:テストBBSが
投稿者:yuya
2008/08/01 12:17:14

>テストBBSが広告だらけですが、どうせテストだし管理しない方針でしょうか? >ほげほげ認証だけでもつければまた違いそうですが というわけでテスト板見ようとしたんですが、Firefoxでは >「テスト書き込みの類はテスト用掲示板にどうぞ。」 のリンクが効いておらず見に行けませんでした。 ソース見ると、<a>タグに文法ミスがありますね。 IEだと善意に解釈されてリンクしてるんですが。
[この投稿を含むスレッドを表示] [この投稿を削除]
[1141] テストBBSが
投稿者:774RR
2008/08/01 11:37:38

テストBBSが広告だらけですが、どうせテストだし管理しない方針でしょうか? ほげほげ認証だけでもつければまた違いそうですが
[この投稿を含むスレッドを表示] [この投稿を削除]
[1139] Re:電卓:コンパイル出来ません:MacOSX
投稿者:つんつん
2008/07/15 00:00:45

前橋さま コンパイル通りました。 $ ./mycalc >9; >>9 >1+2+3+4+5+6+7+8+9+10; >>55 > mycalc も実行できます。行編集もできます。 ありがとうございます。感謝感謝!!です。 言われますように次ぎの通り修正しました。 $ cat -n Makefile <略> 14 INCLUDES = -I/opt/local/include 15 16 $(TARGET):$(OBJS) 17 $(CC) $(OBJS) -o $@ -L/opt/local/lib -lreadline -lfl -lm <略>
[この投稿を含むスレッドを表示] [この投稿を削除]
[1138] Re:電卓:コンパイル出来ません:MacOSX
投稿者:(ぱ)こと管理人
2008/07/14 23:42:14

>13: CFLAGS = -c -g -Wall -I/opt/local/include >14: INCLUDES = \ >15: >16: $(TARGET):$(OBJS) >17: $(CC) $(OBJS) -o -L/opt/local/include $@ -lreadline -lfl -lm まず、-Lの指定は間違っています。 ・-oオプションはできあがる実行形式の名前を指定するオプションですし、  makeでは、$@がターゲットの名前を指します。よって「-o $@」で組なので  その間に-Lを入れてはいけません。 ・/opt/local/includeは、その名のとおり#includeするファイルを置くところだと  思うので、ライブラリは別のところにあるはずです。  MacOSのディレクトリ構造は知りませんが、おそらく/opt/local/libあたりに、  libreadline.aとかlibreadline.soなんとかというファイルがありませんか?  だとすれば、 >17: $(CC) $(OBJS) -o $@ -L/opt/local/lib -lreadline -lfl -lm でいいと思います。 ただ、エラーメッセージが今でも >cc -c -g lex.yy.c >calc.l:6:31: readline/readline.h: No such file or directory こうだというのなら、-Iも失敗しているようです。 …そう思ってMakefileを見直して気付きました。 CFLAGSはlex.yy.cの規則のところでは使っていませんでした。すみませんこちらのミスです (_o_) 14行目の INCLUDES = \ を、 INCLUDES = -I/opt/local/include としてみてください。
[この投稿を含むスレッドを表示] [この投稿を削除]