[問題] MudOS make 除錯

看板C_and_CPP作者 (漂流島之王)時間10年前 (2013/09/02 00:14), 編輯推噓0(002)
留言2則, 1人參與, 最新討論串1/1
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) GCC Make 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) 不知 問題(Question): 我在編譯MudOS的時候 看了這一篇文章 http://webbbs.gamer.com.tw/readPost.php?brd=Mud&p=1699&x=A0SKIFCL 將options.h的#undef NO_ADD_ACTION 改成#define NO_ADD_ACTION 餵入的資料(Input): /home/mud/fluffos-2.24/packages/dwlib.c:501,507 預期的正確結果(Expected Output): 編譯成功 錯誤結果(Wrong Output): make -C packages 'CC=gcc' 'CFLAGS=-D__USE_FIXED_PROTOTYPES__ -O3' 'OBJDIR=../obj' 'RANLIB=ranlib' 'A=a' 'O=o' make[2]: Entering directory `/home/mud/fluffos-2.24/packages' gcc -I../obj -I.. -D__USE_FIXED_PROTOTYPES__ -O3 -o ../obj/dwlib.o -c dwlib.c dwlib.c: In function 'f_reference_allowed': dwlib.c:503: error: 'referrer' undeclared (first use in this function) dwlib.c:503: error: (Each undeclared identifier is reported only once dwlib.c:503: error: for each function it appears in.) 程式碼(Code):(請善用置底文網頁, 記得排版) #ifdef F_FIND_PLAYER /* If we have a find_player() efun, then we need to sue * the following method. This hasn't been tested! */ referrer = find_living_object(sv[1].u.string, 1); #else if (simul_efun_ob) { push_svalue(&sv[1]); v = apply("find_player", simul_efun_ob, 1, ORIG$ if (v && v->type == T_OBJECT) { referrer_obj = v->u.ob; referrer_name = sv[1].u.string; } else { referrer_obj = NULL; referrer_name = sv[1].u.string; } } #endif 補充說明(Supplement): http://www.ptt.cc/bbs/mud/M.1378019265.A.C29.html 好讀版 原po只會unix的基本操作 查了google大神 http://liuzhigong.blog.163.com/blog/static/178272375201121664244437/ 但是看不懂 請幫忙除錯 謝謝 -- 妖魔逃出小村! 米莉亞施展幻影絕技,終於在天黑前追上妖魔! 米莉亞:妖魔,受死領便當吧! 妖魔: 我好慘啊! 跑了一整天,腿都虛累累阿,還要被妳殺掉。 米莉亞:我比你還慘! 你只用跑一趟,殺了你我還要扛著你那麼重 的屍體回去,村長才肯給賞金! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 182.234.32.242

09/02 01:12, , 1F
牽涉太多函式看得不是很懂, 不過看起來要把 503 行的referrer
09/02 01:12, 1F

09/02 01:13, , 2F
改成 referrer_obj, 然後把 511 行複製一份到 503 下一行
09/02 01:13, 2F
文章代碼(AID): #1I8sVWhC (C_and_CPP)