make makes many prob ..
175:デフォルトの名無しさん
02/11/27 17:49
じゃあ、処理速度は遅くなるけど、gcc/g++ の -M(または-MM)オプションを
使ってみたらどうかな。こいつは依存関係を標準出力に出すので、
リダイレクトしてファイルに落とす。そして、>>167 みたいに
-include でインクルードしてやればよい。Linux ということは gmake を
使ってるわけだよね?
176:デフォルトの名無しさん
02/11/27 18:03
>>174
> やはり後半で御指摘の「根本的に環境がおかしい」んですかねぇ…。(困)
> OS は RedHatLinux 7.1,コンパイラは GNUC 2.96(= GNUC++ 2.96),
> makedepend も gccmakedep も /usr/X11R6/bin/ というパスに在ります。
rpm -qf /usr/X11R6/bin/{makedepend,gccmakedep}
の結果は?
177:みな
02/11/27 18:39
>>175 さん
私も,>>167 さんが後半で書かれてた方法が一番良さそうに思えたんで,
gcc の man とか色んな関連ウェブページとか見ながら,習得中です。
(スミマセン。発展途上なもんでして…。)
ちなみに,make も gmake も /usr/bin/ というパスに在って,
使ってるのは一応 gmake の方なんですけど,試しに make の方に変えてみても,
(少なくとも気付いた範囲内では)結果は何も変わらない様です。
>>176 さん
rpm -qf /usr/X11R6/bin/{makedepend,gccmakedep} してみたら,―
XFree86-devel-4.0.3-5
XFree86-devel-4.0.3-5
―と出てきました。
ゴメンナサイ。rpm というモノ自体,>>176 を読んで今初めて知った次第で…。(汗
なるほど,「rpm is a powerful package manager」ですか。
でも,その前に使う人が powerful に成長しないと,宝の持ち腐れですね…。(自嘲
178:176
02/11/27 19:04
>>177
> XFree86-devel-4.0.3-5
もう4.2.1とか出てるのでバージョンを上げてみては。
全部上げるのがいやなら、
rpm -Uvh --excludepath /usr/X11R6/lib --excludepath /usr/X11R6/include \
--excludepath /usr/X11R6/man ${XFree86develRPM}
とか、
cd /
rpm2cpio ${XFree86develRPM} | cpio -i usr/X11R6/bin/{makedepend,gccmakedep}
とか。
179:デフォルトの名無しさん
02/11/28 00:42
URLリンク(happysize.com)
↑こんなんもあるぜ。
漏れはソースを俺様カスタマイズしてつかってるぜ。
180:みな
02/11/28 14:08
>>178 さん
[mina@localhost mina]$ rpm -Uvh --excludepath /usr/X11R6/lib --excludepath /usr/X11R6/include --excludepath /usr/X11R6/man ${XFree86develRPM}
rpm: インストールのためのパッケージがありません
[mina@localhost mina]$ cd /
[mina@localhost /]$ rpm2cpio ${XFree86develRPM} | cpio -i usr/X11R6/bin/{makedepend,gccmakedep}
error: read failed: Success (0)
error reading header from package
cpio: premature end of archive
[mina@localhost /]$
―な感じでした。だめぽ…?
いや,そもそもシス管に訊けとかインストールした人に頼めとか,
心中でツッコみながら私の書き込み読んでる方々も少なくないと思うんですけど,
この環境構築した人自体が,雑誌とか入門書とかと首っ引きで何とか構築したとゆー,
ある意味“発展途上”な人なもんで…。(勿論,私よりは“上”ですけど。)
>>164 で「周りの人に訊いても―(中略)―サッパリわかんなかったんで」
と書いたのは,そんな訳だったんです。(類は友を呼ぶ…?)
181:みな
02/11/28 14:08
>>179 さん
あっ,その "autodep" って,色々 Google 検索してた中で見た記憶が…。
リンク先あちこち紫色になってるし。
コレって,一企業(株式会社ハッピーサイズ)が御厚意で無償提供して下さってる,
一フリーソフトですよね?
ですから,あまり標準的・一般的じゃないユニークなモノに
最初っから頼りきっちゃうと,後々何かマズいかなーとか,
(折角習熟してもツブシが利かないとか…?)
何と無く思ってしまって,初めて見た時はそのまま流してしまってました。
やっぱ,いいですか。"autodep"。
後でダウンロードして,ちょっと試してみますね。
情報,有り難う御座います。
182:176
02/11/28 14:42
>>180
> [mina@localhost mina]$ rpm -Uvh --excludepath /usr/X11R6/lib --excludepath /usr/X11R6/include --excludepath /usr/X11R6/man ${XFree86develRPM}
> rpm: インストールのためのパッケージがありません
> [mina@localhost mina]$ cd /
> [mina@localhost /]$ rpm2cpio ${XFree86develRPM} | cpio -i usr/X11R6/bin/{makedepend,gccmakedep}
> error: read failed: Success (0)
> error reading header from package
> cpio: premature end of archive
${XFree86develRPM}はDLしてきたXFree86-develのRPMパッケージのパス名。
(余裕ができたら)UNIX関連の入門書を嫁。
183:デフォルトの名無しさん
02/12/03 20:14
gcc -MMしろ
184:デフォルトの名無しさん
02/12/08 02:46
185:デフォルトの名無しさん
02/12/08 02:47
186:デフォルトの名無しさん
02/12/10 16:07
下のように、複数のターゲットがある依存関係でコマンドに引数が必要な場合
どう記述したらよいのでしょうか?
$(AFILES) file1.a file2.a file3.a
$(BFILES) $(AFILES:.a=.b)
$(CFILES) $(AFILES:.a=.c)
%.b %.c : %.a
$(CMD) -o1 file1.b -o2 file1.c file1.a
$(CMD) -o1 file2.b -o2 file2.c file2.a
…
187:デフォルトの名無しさん
02/12/10 16:10
>>1
中身はまだ読んでないけど、スレタイ気に入った。w
188:186
02/12/10 16:11
書き忘れましたが、GnuMakeです。
189:デフォルトの名無しさん
02/12/10 16:12
.,,
\ヽ--___
\ 丶---ヽ___
.゙\ ク ~~> クソスレに認定されました
\ ソ /
.\ ノ
\ /
.\/
.\
\
.\
,,\
.″ ゙》
__., イ,, 》li,_
ill! i;l;lllllz,lll;lllllll;lllllly
.:llllllll;llllllllllll;;ll;||llllllllll}
.il||l|lllllllllllllll|《lllll|lly《アlz .、 zz,、
._ノレ;llllllll|;llllllliilllllllllllllllllllllyuyll;ミミ″ .''゙゙∨
」lllllllllllllllllllllllllllllllllllllllllll ゙巛,厶yyv》llll!
{lllllllll厂lllllllll|》lllllllllllllllly、 ,illllllllllllllllli;;ll|y .、.,,_
《;|《llllll;lllli;llllllll;|lllllllllllllllllll|lli. .zllllllll;《lll|《lllllllllllllllizy,lllz. _yyyyr|》
,u,,_ .rlllllllllllllllllllllllllllllll厂リllllリlll!,」llllll「リll;lllllll;;llllllllllllllllllll;||lllllllllllllll;lllllllll
l;lll;l;yu.,,lllz:.;..:villlllllllllllllllllll|》llllllll| uilllll|illlllノ|ll|゙」zyllllll;ll|;lllllllllll;l|リllllllllllll;llllllllllllllllllll
lll|!illlllllllll|ll|i;llllllllllllllllllllllllllllilllllllllllllllllllllllllllllll|lllll|,|lllllllllllllll|》;ll《|「.vuilllll|《liiilll|フ《llllllll
lllllllllllllllllllllllll|《lllllllllll;;llllllllllllllll;llllllllllllllllllllll|)|《;lllllllllllllllllllllllllllllllll;lll;lllll;》([;lllllllllllllllllll
190:デフォルトの名無しさん
02/12/10 17:46
>>186
マルチかよ!
191:デフォルトの名無しさん
03/01/08 18:42
make makes me mad.
192:IP記録実験
03/01/08 21:19
IP記録実験
スレリンク(accuse板)
1 名前:ひろゆき ◆3SHRUNYAXA @どうやら管理人 ★ 投稿日:03/01/08 17:13 ID:???
そんなわけで、qbサーバでIPの記録実験をはじめましたー。
27 名前:心得をよく読みましょう 投稿日:03/01/08 17:20 ID:yL/kYdMc
SETTING.TXT管轄でないということは全鯖導入を視野に、か?
38 名前:ひろゆき ◆3SHRUNYAXA 投稿日:03/01/08 17:22 ID:rLfxQ17l
>>27
鋭いです。
73 名前:ひろゆき ◆3SHRUNYAXA 投稿日:03/01/08 17:27 ID:rLfxQ17l
>ところで、IPが抜かれて何か今までと変わることってあるのでしょうか?
・今までより、サーバが重くなる。
・裁判所や警察からの照会があった場合にはIPを提出することがある。
193:デフォルトの名無しさん
03/01/09 02:44
>>598
訴えられても「誣告ですよ」と返せる様にソース固めて叩きゃ良いじゃん。
荒らさなきゃ良いじゃん。
194:デフォルトの名無しさん
03/01/09 03:27
スレリンク(accuse板:114-119番)
/ヽァ/ヽァ
195:デフォルトの名無しさん
03/01/09 04:09
>>373
ありがと
196:デフォルトの名無しさん
03/01/09 13:40
職場、学校、座敷牢から気兼ねなく書き込みでける
ってゆってたのにー
プンスカ!!
197:デフォルトの名無しさん
03/01/09 14:50
最高裁への上告は認められなくなったから、これで事実上判決確定だよ。
逆転も何もないって。
勢いで上告なんかしても一発で上告却下(門前払い)だよ。
二審も一審を支持。これに対して上告しようにも、
刑事訴訟と同様、自由に上告できるってもんでもないのです。
民事訴訟法312条 (上告の理由) 1項
「上告は、判決に憲法の解釈の誤りがあること
その他憲法の違反があることを理由とするときに、することができる。」
URLリンク(www.m-net.ne.jp)
ようするに上告しても今の制度では100%無駄。 これで完全終了ってことか。
198:デフォルトの名無しさん
03/01/09 17:32
======2==C==H======================================================
2ちゃんねるのお勧めな話題と
ネットでの面白い出来事を配送したいと思ってます。。。
===============================読者数: 138720人 発行日:2003/1/9
年末年始ボケがそろそろ収まり始めた今日このごろのひろゆきです。
そんなわけで、年末に予告したIP記録ですが実験を開始しています。
「2ちゃんねる20030107」
こんな感じで各掲示板の最下部に日付が入ってるんですが、
20030107以降になってるところはログ記録実験中ですー。
んじゃ!
────────────Age2ch─
■この書き込みは、Age2chを使って配信されています。
──────────────
Keep your thread alive !
スレリンク(software板)l50
──────────────
199:デフォルトの名無しさん
03/01/09 23:22
>736
らしいね
ID:WcTtLBwB
も少しまとめてレスする癖付けれ
200:デフォルトの名無しさん
03/01/10 01:11
マンコとかきまくれるのは2chだけ!!ということに変わりはない
201:デフォルトの名無しさん
03/01/10 09:47
色々、俺を過大評価してる様ですが
(現時点で全世界規模のインテリ層に私がシンパいるとか 笑 ありえないって。)
俺一人で突き進む事が基本なんですが(てか十分。命だけ足りないけど。)
そういった事は、貴方方には大きいけど俺には小さいです。
「人生」ってありますね。
私が直接的な報復手段を選ばずに我慢したのもそういった理性があるからです。
「目先で」シャレにならない、からです。
大体察しているでしょう。
では5分後か昼に掛けます。
202:デフォルトの名無しさん
03/01/10 10:58
メルマガまだ?
203:デフォルトの名無しさん
03/01/10 11:43
最高裁への上告は認められなくなったから、これで事実上判決確定だよ。
逆転も何もないって。
勢いで上告なんかしても一発で上告却下(門前払い)だよ。
二審も一審を支持。これに対して上告しようにも、
刑事訴訟と同様、自由に上告できるってもんでもないのです。
民事訴訟法312条 (上告の理由) 1項
「上告は、判決に憲法の解釈の誤りがあること
その他憲法の違反があることを理由とするときに、することができる。」
URLリンク(www.m-net.ne.jp)
ようするに上告しても今の制度では100%無駄。
これで完全終了ってことか。
204:デフォルトの名無しさん
03/01/10 12:12
(;´(Å)`) <・・・。
205:デフォルトの名無しさん
03/01/10 13:03
電気店のパソコン売り場から2ちゃんにカキコする奴が増えるんだろうなあ
206:デフォルトの名無しさん
03/01/10 15:26
(・∀・)クスクス
207:デフォルトの名無しさん
03/01/10 16:53
何が変わるんですか。
208:デフォルトの名無しさん
03/01/10 23:15
>書き込みの質があがるんでつか
質の低い書きこみが減って、結果的に質の平均があがるのではないかと、、、
209:デフォルトの名無しさん
03/01/10 23:20
>>704
「おはよう一直線」という番組で、生島ヒロシのでるやつ。
URLリンク(www.tbs.co.jp)
宮崎哲「2chでは嘘のことをネタというんですけどね、これはネタですね」
「あまり真に受けて騒ぐのもどうか」とも、
おまえらのスポンサーは真に受けてひろゆきに6億円も損害賠償請求して
るじゃん。とか思ったわけだけど
210:デフォルトの名無しさん
03/01/11 00:38
実験
211:デフォルトの名無しさん
03/01/11 00:46
我ながら好き勝手にほざいてしまいますた・・(汗
もし実現しても回線細そうですしね。。。
212:デフォルトの名無しさん
03/01/11 10:07
公人と私人の違いってやつ
俺は嫌いだけどねこの分け方
213:デフォルトの名無しさん
03/01/11 10:40
======2==C==H======================================================
2ちゃんねるのお勧めな話題と
ネットでの面白い出来事を配送したいと思ってます。。。
===============================読者数: 139038人 発行日:2003/1/10
なにやら、連日メルマガだしてるひろゆきです。
そんなわけで、ログ記録実験ですが、いちいちサーバ指定するのが面倒なので、
全部のサーバに入れてみました。
重くなって落ちたりしてもご愛嬌ってことで。。。
んじゃ!
────────────Age2ch─
■この書き込みは、Age2chを使って配信されています。
──────────────
Keep your thread alive !
スレリンク(software板)l50
──────────────
214:デフォルトの名無しさん
03/01/11 11:33
ひろゆきが嫌韓に否定的なのを忘れているようで。
IPを総連に売られたら、どうなると思う?
215:デフォルトの名無しさん
03/01/11 12:07
死ねよ馬鹿ども
216:デフォルトの名無しさん
03/01/11 13:08
まぁお前、素人は無難な書き込みしてなさいってこった。
217:デフォルトの名無しさん
03/01/11 13:38
人生をゲームにしちまったひろゆきはオレより3倍バカ
バカになりきるのは(人間として)難しい
218:デフォルトの名無しさん
03/01/11 16:23
2ちゃん閉鎖したら、他のインターネット掲示板が荒れたり、DQNな事件が増える
219:デフォルトの名無しさん
03/01/11 16:30
逆に立てて欲しくなかったんだが(w
220:デフォルトの名無しさん
03/01/12 00:32
おう、おめーら。
まあな、今年は俺の年なわけだがどうよ?
っていうかなぁ、俺の毛毟り取るのはまあ、許してやるよ。
メシくわせてもらってるからな。
でもな、紙とか食わせるのはマジで勘弁してくれよ。
俺ァな、山羊じゃねぇんだよ。
あんなひつじの出来そこないと一緒にしないでくれよ。
だって山羊だぜ、山羊。
俺なんか十二星座ってだけじゃなくて干支でもあるんだよな。
だけど、山羊見ろよ、山羊。
黄金聖闘士(ゴールドセイント)止まりだぜ?
あんなのと一緒にしてもらいたかぁーねーよな。
っていうか、俺を殺せるもんならやってみろよ。
俺はいつどこでも誰の挑戦でも受けるぞ?
221:デフォルトの名無しさん
03/01/12 00:43
日本人・日本在住・男・童貞
ここまではIPから特定しますた。
222:デフォルトの名無しさん
03/01/12 10:51
ななも殺人教唆で逮(ry
223:デフォルトの名無しさん
03/01/12 10:53
どこがどう恥ずかしいんだい?
それを説明しないお前は説得力ゼロだが。
加えて君の無能さも証明しているな。
224:デフォルトの名無しさん
03/01/12 21:26
それは単に業者への制裁措置じゃ?
225:デフォルトの名無しさん
03/01/12 21:29
通ることもあるわな。
「見なかった」といわれて終わるのは証明の問題であって実体の問題ではない。
226:デフォルトの名無しさん
03/01/12 21:40
あった
227:山崎渉
03/01/13 19:01
(^^)
228:デフォルトの名無しさん
03/01/13 23:31
ワラタ
229:山崎渉
03/01/15 18:14
(^^)
230:山崎渉
03/01/23 22:12
(^^)
231:デフォルトの名無しさん
03/01/24 10:20
あ、もちろん GNU Make の話ね。
232:デフォルトの名無しさん
03/01/31 20:12
make age
233:デフォルトの名無しさん
03/02/04 01:13
頼むからMakefileにmake love仕込んでソース収めるのやめて。
234:デフォルトの名無しさん
03/02/04 17:44
>>231
どの話?
235:デフォルトの名無しさん
03/02/07 23:40
たくさんサブディレクトリがあるとしてのお話です。
DIR_LIST:=たくさんサブディレクトリ
ARC_LIST:=$(addsuffix /lib.a,$(DIR_LIST))
さて、このARC_LISTを、それぞれのディレクトリ内のすべての.oファイルから作るとして、
はじめに思いついたのが、
$(ARC_LIST) : %/lib.c : $(wildcard %/*.o)
というやつだったのですが、このwildcardの中の%がどうやら展開されないようです。
foo/lib.c : $(wildcard foo/*.o)
こうすれば一応依存関係は作れるんですが、DIR_LISTはmakeが起動されるまでわかりません。
なんか解決法はないですか?
236:デフォルトの名無しさん
03/02/08 01:49
>>235
ARC_RULE:=$(DIR_LIST:%=.%.arc_rule)
.%.arc_rule:
@echo '$*/lib.a: $$(wildcard $*/*.o)' > $@
@echo ' $$(AR) $$(ARFLAGS) $$@ $$?' >> $@
clean::
rm -f $(ARC_RULE)
include $(ARC_RULE)
237:デフォルトの名無しさん
03/02/08 01:57
>>235
まちがいがあったので修正版。
ARC_RULE:=$(DIR_LIST:%=.%.arc_rule)
.%.arc_rule:
@echo '$*/lib.a: $$(wildcard $*/*.o)' > $@
@echo ' $$(AR) $$(ARFLAGS) $$@ $$?' >> $@
clean::
rm -f $(ARC_RULE)
ifneq ($(MAKECMDGOALS),clean)
include $(ARC_RULE)
endif
238:235
03/02/08 02:14
>>236
あーいっこづつ別のファイルに出せばいいんですね。
そういうやつを一個のファイルに出してみて、「いける?」とか思って、
「あーでもこのファイル更新するタイミングがわからん」とか思ってあきらめてました。
いけそうですね。まだ試せないけど。ありがとーデス。
239:236
03/02/08 18:43
>>235
期待通りの動作になるかもしれませんが、wildcardで
全部アーカイブにするのは作り方としてよくないとおもいます。
(ソースコードを生成するためのプログラムのオブジェクトまで
拾ってしまう可能性がある。)
lib.aにするところまでサブディレクトリのMakefileで記述したほうが
いいとおもいます。
240:デフォルトの名無しさん
03/02/08 18:52
>>239
> (ソースコードを生成するためのプログラムのオブジェクトまで
> 拾ってしまう可能性がある。)
それはまた別のディレクトリにすべきなんじゃないの?
> lib.aにするところまでサブディレクトリのMakefileで記述したほうが
> いいとおもいます。
ともあれこれには同意。
241:235
03/02/08 19:30
> lib.aにするところまでサブディレクトリのMakefileで記述
そうした場合には、ディレクトリの数だけ無条件でmakeを起動してしまうわけですよね。
実は、なんとかそれを避けれないかということで、いろいろやって>>235のようになったのですよ。
242:236
03/02/09 00:44
>そうした場合には、ディレクトリの数だけ無条件でmakeを起動してしまうわけですよね。
>実は、なんとかそれを避けれないかということで、いろいろやって>>235のようになったのですよ。
ライブラリの元になるオブジェクトはいつ作るのでしょうか?
wildcardでマッチさせようとしているので、makeを起動する前にすでに
オブジェクトができているはずです。だとしたけ結局makeを
複数回起動しているのでは?
243:235
03/02/09 00:56
>>242
あ、すんません、実際にwildcardをかけるのは.cとかなんですよ。
foo/lib.c : $(patsubst %.c,%.o,$(wildcard foo/*.o))
ってな感じです。wildcardが適用されない問題に絞るために端折ってました。
244:236
03/02/09 01:10
235で$(wildcard foo/*.o)の部分は$(wildcard foo/*.c)でしょうね。
237の一部差し替え。
.%.arc_rule:
@echo '$*_SRC:=$$(wildcard $*/*.c)' > $@
@echo '$*_OBJ:=$$($*_SRC:%.c=%.o)' >> $@
@echo '$*/lib.a: $$(*_OBJ)' >> $@
@echo ' $$(AR) $$(ARFLAGS) $$@ $$?' >> $@
245:236
03/02/09 01:18
しまった。また間違いがありました。
.%.arc_rule:
@echo '$*_SRC:=$$(wildcard $*/*.c)' > $@
@echo '$*_OBJ:=$$($*_SRC:%.c=%.o)' >> $@
@echo '$*/lib.a: $$($*_OBJ)' >> $@
@echo ' $$(AR) $$(ARFLAGS) $$@ $$?' >> $@
@echo 'clean::' >> $@
@echo ' rm -f $$($*_OBJ)' >> $@
246:235
03/02/09 01:20
>>244
どうも。
仕事キッチリなお方ですな。
247:デフォルトの名無しさん
03/02/09 13:31
>>236 質問!
> ARC_RULE:=$(DIR_LIST:%=.%.arc_rule)
っていったい何をやっているの?
248:235
03/02/11 00:36
上手くいきましたよ。
さて、後はソースファイルが削除されたときの・・・。
>>247
ARC_RULE:=$(patsubst %,.%.arc_rule,$(DIR_LIST))
↑の、ちょっと短く書ける書式。
249:247
03/02/11 11:58
>>248
あ、そっか。ふだんはこの書き方を使わないから悩んじゃったよ。ありがと。
250:デフォルトの名無しさん
03/02/11 13:39
>>248
こんなんでどうよ。
.%.arc_rule:
@echo '$*_SRC:=$(wildcard $*/*.c)' > $@
@echo '$*_OBJ:=$$($*_SRC:.c=.o)' >> $@
@echo '$*/lib.a: $$($*_OBJ)' >> $@
@echo ' $$(AR) $$(ARFLAGS) $$@ $$?' >> $@
@echo 'ifneq($*_SRC,$$(wildcard $*/*.c))' >> $@
@echo '$@: .force' >> $@
@echo 'endif' >> $@
@echo 'clean::' >> $@
@echo ' rm -f $$($*_OBJ)' >> $@
.PHONY: .force
251:235
03/02/11 17:10
>>250
> ifneq($*_SRC,$(wildcard $*/*.c))
ぱっと見、これが常に偽になりそうです・・・。
> $@ : .force
これは、$*/lib.a : .force ですかね。
ちょっと修正して、こんな感じになるかなぁ?(↓見やすくするための擬似表記です)
$*_SRC:=$(wildcard $*/*.c)
$*_OBJ:=$($*_SRC:.c=.o)
$*/lib.a : $($*_OBJ)
ifneq($*_OBJ,$(wildcard $*/*.o))
$*/lib.a : .force
endif
252:235
03/02/11 18:16
だめだ、対応するソースの無くなった.oを消さなきゃ。
253:デフォルトの名無しさん
03/02/12 00:38
makeのかわりにjam使ってる人いますか?
↓jam
URLリンク(www.perforce.com)
254:デフォルトの名無しさん
03/02/12 08:07
>>251
> > ifneq($*_SRC,$(wildcard $*/*.c))
> ぱっと見、これが常に偽になりそうです・・・。
なんで? $*_SRCと右の$(wildcard $*/*.c)はワイルドカードが展開されるタイ
ミングが違うはずだが。
> > $@ : .force
> これは、$*/lib.a : .force ですかね。
ちがう。ソースが追加/削除されたら.arc_ruleを書き換えたいんだろ?
255:235
03/02/13 00:57
>>254
ごめんなさい。完全に勘違いしてました。
試させてもらいました。
ソースを削除したとき、.arc_ruleは更新されますが、
lib.aの中に削除されたソースから生成した.oが含まれたままになってしまい、
リンク時に有効な.oファイルとして認識されてしまいます。
削除されたソースファイル名を認識して、対応する.oファイルを削除し、
lib.aからも削除するようにしないいといけないのですが、
既に存在しないファイルに対してmakeがアクションをおこすような指示をどう書けばいいのかが
思いつきません。
256:デフォルトの名無しさん
03/02/13 01:59
>>255
そうなるとたしかに$*/lib.aは強制的に作り直さなきゃだな。
@{ \
echo '$*_SRC:=$(wildcard $*/*.c)'; \
echo '$*_OBJ:=$$($*_SRC:.c=.o)'; \
echo '$*/lib.a: $$($*_OBJ)'; \
echo ' @rm -f $$@'; \
echo ' $$(AR) $$(ARFLAGS) $$@ $$?'; \
echo ' $$(RANLIB) $$@'; \
echo 'ifneq($*_SRC,$$(wildcard $*/*.c))'; \
echo '$@ $*/lib.a: .force'; \
echo 'endif'; \
} > $@
257:235
03/02/14 01:31
>>256
そいつだと、%.arc_ruleが作り直された段階で
$*/lib.a: .force の関係がキャンセルされてしまうみたいです。
なので、%.arc_ruleの出力時に$*/lib.aを削除するようにしました。
最終的にはこのようになりまして、(↓全角スペースがタブのかわり)
.PHONY : .force_update
$(ARC_LIST) : %/lib.a :
$(AR) $(ARFLAGS) $@ $?
ARC_RULES:=$(addsuffix /.arc_rule,$(DIR_LIST))
$(ARC_RULES) : %/arc_rule :
@{ \
echo '.$*_SRC:=$(wildcard $*/*.c)' ;\
echo '.$*_OBJ:=$$(.$*_SRC:.c=.o)' ;\
echo '$*/lib.a : $$(.$*_OBJ)' ;\
echo 'ifneq ($$(.$*_SRC),$$(wildcard $*/*.c))' ;\
echo '$@ : .force_update' ;\
echo 'endif' ;\
} >@ ;\
$(RM) -f $*/lib.a
include $(ARC_RULES)
動作は良好です。
ソースの追加、削除、引越しを完全に追跡してくれます。
快適です。
助言くださったみなさま、ありがとうございました。
優良スレage
258:デフォルトの名無しさん
03/02/14 01:32
SRCS=`find *.c`
INCS=`find *.h`
259:デフォルトの名無しさん
03/02/14 15:10
>>257
> >>256
> そいつだと、%.arc_ruleが作り直された段階で
> $*/lib.a: .force の関係がキャンセルされてしまうみたいです。
> なので、%.arc_ruleの出力時に$*/lib.aを削除するようにしました。
$*/lib.aを%.arc_ruleに依存するようにするのはどうよ。
260:デフォルトの名無しさん
03/02/15 01:55
>>259
対応するソースの無くなったオブジェクトがlib.aに残る問題を考えると、
あのタイミングで削除してしまったほうが効率もよく、すっきりします。
261:デフォルトの名無しさん
03/02/23 00:46
Makefileを手書きしたいのですがSolaris, Linux(Redhat, Debian), CygwinをMakefile内で自動判別する方法はないですか?
262:デフォルトの名無しさん
03/02/23 00:59
環境変数OSTYPEはだめか?
263:デフォルトの名無しさん
03/02/23 01:05
>>262
OSTYPEでうまくいきそうですがLinuxは両方linux-gnuになってしまいます。
setやenvにはディストリビューションの情報はなさそうです。
両者の区別は可能ですか?
264:デフォルトの名無しさん
03/02/23 01:09
>>263
サポートしているモノのうちのひとつを引数で受け取る仕様に汁。
265:デフォルトの名無しさん
03/02/23 09:51
Linux,CygwinではGNUmakefileをつくって、その中で
SYSTEM := $(...) # ディストリビューションを見分けるプログラムを呼ぶ。
include Makefile
266:デフォルトの名無しさん
03/02/23 09:51
>>265
> SYSTEM := $(...) # ディストリビューションを見分けるプログラムを呼ぶ。
しまった。$(shell ...)ね。
267:山崎渉
03/04/17 16:04
(^^)
268:山崎渉
03/04/20 03:54
∧_∧
( ^^ )< ぬるぽ(^^)
269:デフォルトの名無しさん
03/05/26 21:53
GNU make 3.79 使ってます。
make の本(GNU make の本ではありません)に
.SUFFIXES:
と書くとサフィックスに関するデフォルトの設定をクリアできると書いてありましたが、
GNU make でやってみると何かデフォルトの設定も使われているようなんですね。
-r オプションは使わないとすると、
GNU make では Makefile にどう書けばいいんでしょうか?
実際に問題が発生した例)
debug.cpp と debug ターゲットがある場合、
make debug とやると .cpp: サフィックスルールも適用されてしまう。
270:デフォルトの名無しさん
03/05/26 21:58
unameじゃだめなの?
271:デフォルトの名無しさん
03/05/26 22:00
あ、ごめん。なんでもない
272:デフォルトの名無しさん
03/05/27 01:37
>>269
.PHONY ではなくて?
273:269
03/05/27 08:55
>>272
できました!
ありがとうございました。
274:山崎渉
03/05/28 12:42
∧_∧
ピュ.ー ( ^^ ) <これからも僕を応援して下さいね(^^)。
=〔~∪ ̄ ̄〕
= ◎―◎ 山崎渉
275:デフォルトの名無しさん
03/06/14 02:02
あげ
276:デフォルトの名無しさん
03/06/20 09:07
cygwinのmakeで、コマンドラインが長すぎるときにエラーが出てしまいます。
同じコマンドラインでも、Windows98上ではエラーにならず、Windows2000では
エラーになります。
エラーメッセージは
make: *** [target] Error 255
というもので原因や対策がはっきりわかりません。
検索すると、よく知られた問題のようですが、根本的な解決方法は見つかりませんでした。
というわけで、
おしえて、えろいひと。
277:デフォルトの名無しさん
03/06/20 13:16
>>276
解決法: コマンドラインの引数を少なくする
……しかないんじゃないの?
278:276
03/06/22 16:18
>>277
すでに動いていた環境でファイル数が増えたからエラーになったのです。
そんなわけで、簡単に引数は少なくできません。
cygwinスレにでも逝ってみます。
279:山崎 渉
03/07/15 10:44
__∧_∧_
|( ^^ )| <寝るぽ(^^)
|\⌒⌒⌒\
\ |⌒⌒⌒~| 山崎渉
~ ̄ ̄ ̄ ̄
280:山崎 渉
03/07/15 14:04
__∧_∧_
|( ^^ )| <寝るぽ(^^)
|\⌒⌒⌒\
\ |⌒⌒⌒~| 山崎渉
~ ̄ ̄ ̄ ̄
281:デフォルトの名無しさん
03/07/23 21:24
最近、Linux、Solarisの開発を始めた者です。
gmakeの質問させてください。
Linux上で
$(DEPDIR)/%.d: $(SRCDIR)/%.cpp
<tab>@[-e $(DEPDIR)] || mkdir $(DEPDIR)
<tab>@$(CXX) -なんとか…
って感じで動かしてたんですが、
Solaris8に移植してgmakeかけようとしたら
/bin/sh: test: 引数が足りません。
とか言われてしまいます。
[-e $(DEPDIR)]
でなんでつまづくかわかりません。
ご存知の方がいたら、教えてもらえないでしょうか
282:デフォルトの名無しさん
03/07/24 13:22
>>281
自己レスです
[がシェルコマンドとは気づかなかった
Solarisのbin/shだと [-eが使えなかった模様
すいませんでした。
283:デフォルトの名無しさん
03/07/24 17:53
あるだろ。
URLリンク(www.freebsd.org)
ところで[]の内側にほんとにスペース入れてないのか?
284:デフォルトの名無しさん
03/07/24 21:27
>>283
いれてません。
bin/shで-eオプションがないようです。
bin/ksh じゃないと駄目みたいなんですが、
GUN makeってbin/shじゃないと駄目ってのはありませんでしたっけ?
285:デフォルトの名無しさん
03/07/24 21:28
>>283
誤解を招くので追記(汗
全角スペースの意味でとりました。
半角は入ってます
286:デフォルトの名無しさん
03/07/24 22:35
じゃ[ -d $(DEPDIR) ]は?
287:デフォルトの名無しさん
03/07/25 12:45
>>286
「-d filename
ファイル filename が存在し、ディレクトリであれ ば真。」
あぅ、こーいうものがあったんですね。
試してみます、ありがとうございました。
288:デフォルトの名無しさん
03/07/27 19:15
clean:
(TAB)rm *.o
(TAB)rm *.a
って書いたら *.o がない時点でエラーになっちゃって *.a が消されません
みなさんはこういう時ってどうしますか?
rm *.o *.a とかでしょうか?
289:デフォルトの名無しさん
03/07/27 19:42
-rm
rm -f *.o *.a
290:山崎 渉
03/08/02 02:16
(^^)
291:三村
03/08/04 21:16
>>276
えろいひとかよっ!
292:山崎 渉
03/08/15 16:24
(⌒V⌒)
│ ^ ^ │<これからも僕を応援して下さいね(^^)。
⊂| |つ
(_)(_) 山崎パン
293:デフォルトの名無しさん
03/08/24 13:10
大きいプロジェクトをmakeしていると、今どの程度makeが終わったのか分からなくて不安になるんですが
進捗を表示しつつmakeする方法ってありませんか?
294:デフォルトの名無しさん
03/08/24 13:17
echo
295:デフォルトの名無しさん
03/08/24 14:40
>>293
@を外す
296:デフォルトの名無しさん
03/08/24 15:35
希望が「完成率 30%」とかの表示だと、難しそうな気がする…
297:デフォルトの名無しさん
03/09/14 13:55
砂時計を使う。
298:デフォルトの名無しさん
03/09/14 14:49
>>293
大きいプロジェクトならmakefile分割しなよ。
そうすれば望みもかなうし管理も楽になるから。
299:デフォルトの名無しさん
03/09/14 14:51
date;make
後は、現在時刻と表示された時刻を見比べて、「どの程度」なのかを推測しろ。
できるよな? な?
300:300
03/09/16 23:50
この偉大なスレの300が数日間も放置されていようとはな。
301:デフォルトの名無しさん
03/09/16 23:53
出来れば300日間放置してほしかった
302:デフォルトの名無しさん
03/09/18 17:58
すみません。FreeBSD の make で使える
.for n in $(NAMES)
.for v in $(VALUES)
result-$(v)-$(n): foobar data-$(n)
./foobar $(v) < data-$(n) > result-$(v)-$(n)
.endfor
.endfor
こういう構文を GNU make で書くにはどうすればいいんでしょうか?
ループが一重なら % を使って書けるのですが、2つ変化する部分があると
どう書いたらいいものか...
303:デフォルトの名無しさん
03/09/19 06:28
3.80から使えるeval(URLリンク(www.gnu.org))を使えば、
define RULE_TEMPLATE
result-$(v)-$(n) : foobar data-$(n)
./foobar $(v) < data-$(n) > result-$(v)-$(n)
endef
$(eval $(foreach n,$(NAMES),$(foreach v,$(VALUES),$(RULE_TEMPLATE))))
と書けるみたい。(全角スペースはタブね)
304:デフォルトの名無しさん
03/09/22 14:35
makeの次がantとはね・・・
この中間にある書きやすくて読みやすくて高機能なビルド支援ツールってないのかね。
305:302
03/09/22 17:44
>>303
おお、ありがと。
しかし、自分用の makefile ならいいけど、配布用だとまだ使うのは早いかな...
306:303
03/09/23 07:12
>>305
eval使わない場合は、 -include のファイルが更新対象になるのを利用して、
NAMES:=a b c
VALUES:=1 2 3
RULE_FILE:=.rules
$(RULE_FILE) : $(MAKEFILE)
{ \
$(foreach n,$(NAMES),$(foreach v,$(VALUES), \
echo 'result-$(v)-$(n) : foobar data-$(n)' ;\
echo ' ./foobar $(v) < data-$(n) > result-$(v)-$(n)' ;\
)) \
}>$@
-include $(RULE_FILE)
と書けるみたい。(全角スペースはタブね)
307:302
03/09/24 01:29
>>306
おお、makefile を更新したら、ちゃんとルールファイルを更新してから
include するんですね。これは使えそうです。どうも、ありがと。
# $(MAKEFILE) は自分で値を設定しておかないといけないみたいですね。
308:デフォルトの名無しさん
03/10/06 03:34
ant
309:デフォルトの名無しさん
03/10/19 12:42
giant-ant
310:デフォルトの名無しさん
03/10/25 02:26
ム板の板歌
パスカルに逢わせてくれてありがとう〜♪
311:デフォルトの名無しさん
03/10/25 04:51
どなたか教えてください。(SunOS)
Makefile
--------------------
FILE_1 = a.tmp
FILE_2 = ${FILES_1:.tmp=.tmp2}
FILE_3 = *.tmp
FILE_4 = ${FILES_3:.tmp=.tmp2}
all::
@echo ${FILES_1}
@echo ${FILES_2}
@echo ${FILES_3}
@echo ${FILES_4}
--------------------
実行結果
> make
a.tmp
a.tmp2
a.tmp
*.tmp2
FILES_4 でFILES_2 と同じ結果を得たいのですが、
思ったようにできません。
make のみで FILES_2 と同じ内容を FILES_4 に
設定することは可能でしょうか?
312:デフォルトの名無しさん
03/10/30 22:43
さわやかSUN組
313:デフォルトの名無しさん
03/11/04 03:00
GNU make の $(error ...) ってどのバージョンから使えるんですか?
314:デフォルトの名無しさん
03/11/16 00:07
makeのスレなんて流行らないよ。
makeなんて初心者虐め、他文化虐め、異端者排除の大好きなUN*X厨の道具だもの。
その証拠にこのスレでは幾多の質問が無かった事のように流されてきたじゃない?
315:デフォルトの名無しさん
03/11/16 00:52
makeを使うのに、
makefileを書く必要はないんです。
ただ単に、hello.cをコンパイルしたければ
「make hello」とか「make hellow.exe」と打つだけです。
何が難しいんですか?
...makefileを書かねばならんのは、
分割コンパイルをや非標準のライブラリの導入をする
中級者以上だけです。
316:いなむらきよし
03/11/16 01:04
キケー!
317:デフォルトの名無しさん
03/11/17 09:48
makefileもかけないでプログラマ気取りですか?
318:デフォルトの名無しさん
03/11/17 12:44
俺はMakefileしか書かないよ。
319:デフォルトの名無しさん
03/11/17 13:00
俺はGNUmakefileしか書かないよ。
320:デフォルトの名無しさん
03/11/17 15:29
そのうち
#!/usr/bin/make
なんてスクリプトが書かれるのかな。嫌だな。
321:デフォルトの名無しさん
03/11/17 18:05
書いたことあるよ。
322:デフォルトの名無しさん
03/11/17 22:38
make って微妙に挙動が違うから, GNU make 専用に Makefile を書くか,
いろんな make で扱えるように Makefile を書くかで, 面倒くささが
変わってきて, ちょっといや.
323:デフォルトの名無しさん
03/11/17 22:40
make って微妙に挙動が違うから, GNU make 専用に Makefile を書くか,
いろんな make で扱えるように Makefile を書くかで, 面倒くささが
変わってきて, ちょっといや.
324:デフォルトの名無しさん
03/11/17 22:40
gmake,pmake,nmake
他には?
325:デフォルトの名無しさん
03/11/17 23:10
余計なこと書きすぎるとポータビリティーがないのよ。
7行プログラムじゃないけど、必要最小限、極力簡潔に書くの。
326:デフォルトの名無しさん
03/11/18 02:10
俺はgmakeで統一。
Windowsでもcygwin/binにパス通して使ってる。
nmakeは名前違うからいいけどBorlandのはまんまmakeで激しく迷惑だな。
327:デフォルトの名無しさん
03/11/18 10:03
>>326
同位。
あんな変態的なのがmakeを名乗るな。
しょうがないのでこういうスクリプトをbmakeとつけて使ってる。
#!/bin/sh
bccdir=`type bcc32`
bccdir="${bccdir#bcc32 is }"
bccdir="${bccdir%/*}"
if [ -z "$bccdir" ]; then
echo "$0: bcc32 not found" 1>&2
exit 1
fi
if [ "x$1" = x-C ]; then
cd "$2"
shift 2
fi
PATH="$bccdir:$PATH" exec make "$@"
328:デフォルトの名無しさん
03/11/19 00:52
WideStudioのmingw(GCC WIN32版)とC++Builder6も衝突。
makeをgmake.exeにリネームするとmakeを起動するmakefileが
通らんので、環境変数からmingw32-make.exeのあるディレクトリを
検索し、PATHの中身を並べ替えてexecvp("make.exe"...する
wmake.exeを書かされた。
void rebuild(std::vector<std::string> &buff,
const char *name, char slash = '\\') {
for (std::vector<std::string>::iterator it = buff.begin();
it != buff.end(); it++) {
struct stat st;
if (stat((*it + slash + name).c_str(), &st)) {
; /* ignore:win32-execvpは存在しないディレクトリもPATHに書いていい */
} else {
std::string s = *it;
buff.erase(it);
buff.insert(buff.begin(), s);
return;
}
}
throw std::runtime_error(std::strerror(ENOENT));
}
329:デフォルトの名無しさん
03/11/19 01:01
書かされたって仕事でWideStudio使ってるのか?
330:デフォルトの名無しさん
03/11/19 03:22
>>329
仕事じゃないよ。でも後で使うつもり。
低機能だけどMFCやVCLよりシンプルで使うのがラクだからね。
331:デフォルトの名無しさん
03/11/21 12:38
windowsでmakefileなんか書くなバカ
332:デフォルトの名無しさん
03/11/22 13:44
>>331
5年ほど前、100m離れた自席とマシン室の間往復するのが面倒で、
自席のPCにCygwin入れてマシン室のサーバ機からtelnetでログイン、
nmake叩いてコンパイル、できたファイルをFTP GETとかやってた。
あの頃はTerminal Serviceがまだ標準じゃ無かったんで、nmake
マンセーだったよ。
333:デフォルトの名無しさん
03/11/24 14:07
いまはリモート接続とかあるけどね
334:デフォルトの名無しさん
03/11/30 07:18
Cygwinのmakeで
OSTYPE=$(shell echo $$OSTYPE)
とやってもOSTYPEが空のままなんだけどどうすればいいの?
bashでecho $OSTYPEだとcygwinって表示されるし
linuxでは普通にOSTYPE=linux-gnuがセットされるのに。
335:時代錯誤
03/11/30 07:33
javaならxmlで記述するからな〜。makeかぁ、懐かしいね〜隔世の感・・・
336:デフォルトの名無しさん
03/11/30 10:31
>>335
お前みたいなのがJavaの品格を貶めているんだよ?わかってる?
337:デフォルトの名無しさん
03/11/30 12:58
>>328
> makeをgmake.exeにリネームするとmakeを起動するmakefileが通らんので、
Makefileの書き方が悪い。$(MAKE)を使うべき。
338:デフォルトの名無しさん
03/11/30 19:10
make allとかやったときサブのmakefileにall渡すのはどのマクロ?
339:デフォルトの名無しさん
03/12/01 00:03
>>338
普通にターゲットだから $@ の模様。
340:デフォルトの名無しさん
03/12/02 01:39
GNU Make だと MAKECMDGOALS つーのもあるが
>>311
> FILE_3 = *.tmp
これも GNU Make だと
FILE_3 := $(wildcard *.tmp)
かな? キモは ":=" を使って、その場で展開しておくこと。
341:デフォルトの名無しさん
03/12/02 20:33
>>340
> キモは ":=" を使って、その場で展開しておくこと。
ををっ、腹ショー!!
342:デフォルトの名無しさん
03/12/06 15:00
make debugってやったらターミナルだとgdb,Xが起動していたらGUIデバッガを起動する。
というのをやりたいんですが、どうやって判別すればいいですか?
343:デフォルトの名無しさん
03/12/06 22:30
>>342
X 上で走っているターミナルの場合はどうすんねん、ってのは揚げ足とりだよなぁ。
とりあえず環境変数 DISPLAY が設定されているか否かで判別すれば?
344:デフォルトの名無しさん
03/12/08 18:11
DEBUGGER := $(if $(DISPLAY),xxgdb,gdb)
debug:; $(DEBUGGER) $(TARGET)
345:デフォルトの名無しさん
03/12/17 23:02
前から思ってたんだけど、makeなんて新しいプログラム用意するんじゃなくて、
シェルスクリプトのライブラリという形で提供すれば良かったんじゃないの?
当時の貧弱な計算機環境だと、巨大なシェルスクリプトが重荷になったのかも
しれないけどさ。新しく文法覚えてツールを使うっていうのは、当時の利用技能の
高いユーザにとっても面倒なことだったと思うけどなあ。
346:デフォルトの名無しさん
03/12/18 01:01
>>345
チンパンジーのアイちゃんですか?
347:デフォルトの名無しさん
03/12/20 15:20
>>8
make: don't know how to make love
348:デフォルトの名無しさん
04/02/14 01:54
make は好きなんで age てみたり.
ところで, Makefile で使う変数名で慣用的なものってどんなのがありますか.
CC, CXX, CFLAGS, LDFLAGS, LIBS あたりはみんな普通に使うんじゃないかと
思うのですが.
349:デフォルトの名無しさん
04/02/14 02:05
mingwのgmakeはUNIX同様に実行ファイルにサフィックス無しを
デフォルトにしてるんで、ターゲットの日付を見てくれましぇん。
なんでこんな変な仕様にしたんだろ。
おきて破りで環境変数MAKEFILES=C:/gcc/etc/make.defsをやってる。
.SUFFIXES:.exe .a .ln .o .c .cc .C .cpp .p .f .F .r .y .l .s .S \
.mod .sym .def .h .w .ch .web .sh
STDLDFLAGS = -Wl,-LC:/gcc/lib
.c.exe:
$(CC) $(CFLAGS) -o $@ $< $(STDLDFLAGS) $(LIBS)
.cc.exe:
$(CXX) $(CXXFLAGS) -o $@ $< $(STDLDFLAGS) $(LIBS)
350:デフォルトの名無しさん
04/02/14 02:21
makeはわかるけどconfigureの書き方がわからない
351:デフォルトの名無しさん
04/02/14 15:35
>>350
さすがに configure 直書きとかじゃないよな?
Autoconf 使ってるのなら↓からぱくってくるなり参考にすればいいんじゃないかな。
URLリンク(www.gnu.org)
352:デフォルトの名無しさん
04/03/25 02:35
ルールのコマンドを実行するシェルの環境変数をmakefile内で設定することはできますか?
設定したい環境変数は複数あって、それらをすべてのルールのコマンドに反映させたいです。
353:デフォルトの名無しさん
04/03/25 06:14
>>348
make -np | grep "="
354:デフォルトの名無しさん
04/03/30 17:50
MSYS + MinGW なんですが、
コンパイルにかかった時間を簡単に計るのは、どうやったらいいですか?
今は、
all: date target.exe
date:
date
target.exe: target.cpp
コンパイル
date
みたいにしてます。
355:デフォルトの名無しさん
04/03/30 17:57
>>354
ストップウォッチ
356:デフォルトの名無しさん
04/03/30 18:05
>>354
time
357:354
04/03/30 19:44
>>356
bin の中を探してたんで、そんなのがあるのを知りませんでした。
>>355
最初は使ってましたが、一分以上待つのはつらいです。
ありがとうございました。
358:デフォルトの名無しさん
04/04/23 09:26
ターゲット、依存ファイル、文字列関数の扱う文字列など、
スペース区切りのリストの中にスペースを含む文字列(ファイル名)を
一つの要素として入れるにはどうしたらいいんでしょうか?
359:デフォルトの名無しさん
04/04/23 10:31
my\ document
みたいに\でエスケープする。
360:358
04/04/23 23:45
>>359
ありがとうございます。
ターゲット、依存ファイルには置けるようになりました。
ですが、文字列関数にわたすと複数の要素に分割されてしまいました。
このエスケープはどんな仕様で動作しているのでしょうか?
マニュアルに書いてあります?
361:デフォルトの名無しさん
04/04/24 14:40
最近、環境を移行する作業してました。
かなり昔に作られたmakeファイルや、誰が作ったのかわからないmakeファイルを
新環境用に「感」で直しつつ作業してました。
ある程度manで調べたりしたけど、本当・・・難しい。
まともな日本語の本ってないんですかね?1にも書いてありますが。
362:デフォルトの名無しさん
04/04/25 09:07
>>360
言語もわからんのに答えられるわけねーだろボケ!
363:358
04/04/25 13:29
>>362
言語?あ・・・。
すいません。GNU makeです。
364:デフォルトの名無しさん
04/05/11 13:36
SRCS=$(shell ls *.c)
とやると.cのファイルが全く無い場合
>そのようなディレクトリやファイルはありません。
というエラーメッセージが表示されてしまいます。
メッセージを出力しないようにするにはどうすればいいですか?
次ページ最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
5375日前に更新/188 KB
担当:undef