- 主题:请教如何从FB2000转到KBS
原来的数据是FB2000 v1.0909,现在KBS已经可以编译安装好了,接下来就是数据转换了。
系统是FreeBSD 64Bit R9.0
请问有没有完整和系统一点的转换教程?精华区都看过了,都不太管用。
还有一点就是 /kbs_bbs/contrib/fb2k2smth下的转换程序怎么编译呢?没头绪啊...
非常感谢!!
--
FROM 113.68.17.*
c文件放在local_utl下面
然后修改local_utl目录下面的Makefile.am文件
加入这个文件名,然后重新编译
【 在 tolly (你@我) 的大作中提到: 】
: 原来的数据是FB2000 v1.0909,现在KBS已经可以编译安装好了,接下来就是数据转换了。
: 系统是FreeBSD 64Bit R9.0
: 请问有没有完整和系统一点的转换教程?精华区都看过了,都不太管用。
: ...................
--
修改:huangzy0138 FROM 61.178.233.*
FROM 61.178.233.*
谢谢指点,编译还是出错...
[Compiling gen_title.c]
gen_title.c: In function 'generate_board_title':
gen_title.c:42: warning: passing argument 4 of 'safe_mmapfile_handle'
from incompati
le pointer type
gen_title.c:106: warning: implicit declaration of function 'getbnum'
[Linking gen_title]
gen_title.o: In function `generate_board_title':
gen_title.c:(.text+0x5d6): undefined reference to `getbnum'
gen_title.c:(.text+0x5ff): undefined reference to `getbnum'
*** Error code 1
Stop in /usr/home/kbs/local_utl.
*** Error code 1
因为不会编程,所以有点菜,谢谢。。。
【 在 huangzy0138 (禹弟) 的大作中提到: 】
: c文件放在local_utl下面
: 然后修改local_utl目录下面的Makefile.am文件
: 加入这个文件名,然后重新编译
: ...................
--
FROM 113.68.17.*
没链接libBBS
【 在 tolly (你@我) 的大作中提到: 】
: 谢谢指点,编译还是出错...
: [Compiling gen_title.c]
: gen_title.c: In function 'generate_board_title':
: ...................
--
FROM 123.116.98.*
kbs_bbs/local_util/Makefile.am文件如下:
CC="@LIBTOOL@"
CCLD="@CC@"
bin_PROGRAMS = poststat static usage Xhtml Bhtml listonline \
showBM idx0Ann lazybm fixdir autoundeny statBM gen_title \
find_rm_lost statguy autoclear showipdeny blogstat \
scanIP scanMODE listMODE ulevel dump_user_title
ultimate_search \
mails genhot bonlinelog uonlinelog dayuserlog alluserlog \
gennewboard outdaybm process_invalid_mail bmerge
rebuild_digest \
post_brdlog post_buse newpoststat genbplot sync_mailsize \
refresh_reply fix_sysop userexist fix_nowid scored fhedit \
postfilealt bootstrap utmpcheck \
chlevel convboards convpasswd calc_effsize \
conv_pc4fb2k gen_title strip_fh chfavbrd
EXTRA_DIST = urlencode.c
EXTRA_PROGRAMS =
LDADD=-lBBS -lsystem -L../libBBS -L../libsystem
AM_CFLAGS= -I$(top_srcdir)/src
CLEANFILES=@EXTRA_CLEAN@
请问这个-L../libBBS是不是你说的链接?
【 在 fancyrabbit (fancy★一摩尔时光) 的大作中提到: 】
: 没链接libBBS
--
FROM 113.68.17.*
暂时将getbnum改为getbnum_safe(按src/func.h的定义)。编译通过了。还不知道
有没有问题。
【 在 tolly (你@我) 的大作中提到: 】
: 谢谢指点,编译还是出错...
: [Compiling gen_title.c]
: gen_title.c: In function 'generate_board_title':
: ...................
--
FROM 113.68.23.*
哦,应该不是这个原因。getbnum()没有了应该是。
用 getboardnum() 吧
【 在 tolly (你@我) 的大作中提到: 】
: kbs_bbs/local_util/Makefile.am文件如下:
: CC="@LIBTOOL@"
: CCLD="@CC@"
: ...................
--
FROM 123.116.98.*
这个要判断 session->currentuser, 一定有问题。
【 在 tolly (你@我) 的大作中提到: 】
: 暂时将getbnum改为getbnum_safe(按src/func.h的定义)。编译通过了。还不知道
: 有没有问题。
--
FROM 123.116.98.*
//已经改用getboardnum了,还是出错
//gen_title.c出错信息如下:
gen_title.c: In function 'generate_board_title':
gen_title.c:42: warning: passing argument 4 of 'safe_mmapfile_handle'
from incompatib
le pointer type
gen_title.c:106: error: too few arguments to function 'getboardnum'
gen_title.c:108: error: too few arguments to function 'getboardnum'
*** Error code 1
老大,这个也不行啊。
//func.h中定义如下:
int getboardnum(const char *bname, struct boardheader *bh);
//gen_title.c中使用:
bs=getbstatus(getboardnum(bh->filename));
set_board(getboardnum(bh->filename), &btmp, NULL);
//chlevel.c出错信息如下:
chlevel.c:7: warning: return type defaults to 'int'
chlevel.c: In function 'main':
chlevel.c:79: error: too few arguments to function 'substitute_record'
chlevel.c:83: warning: control reaches end of non-void function
//func.h中定义如下:
int substitute_record(char *filename, void *rptr, int size, int id,
RECORD_FUNC_ARG filecheck, void *arg);
//chlevel.c中使用:
substitute_record(BBSHOME "/.PASSWDS", &user, sizeof(user), i);
请fancy大大指点,谢谢!!
【 在 fancyrabbit (fancy★一摩尔时光) 的大作中提到: 】
: 哦,应该不是这个原因。getbnum()没有了应该是。
: 用 getboardnum() 吧
--
修改:tolly FROM 113.68.23.*
FROM 113.68.23.*
第二个参数简单传个NULL进去就行了.....
substitute_record原型改了,后边加俩NULL
好吧回头找时间把 contrib/ 再扫一遍- - @jiangjun2000
【 在 tolly (你@我) 的大作中提到: 】
: 标 题: Re: 请教如何从FB2000转到KBS
: 发信站: 水木社区 (Thu Apr 5 18:20:11 2012), 转信
:
: //已经改用getboardnum了,还是出错
: //gen_title.c出错信息如下:
: gen_title.c: In function 'generate_board_title':
: gen_title.c:42: warning: passing argument 4 of 'safe_mmapfile_handle'
: from incompatib
: le pointer type
: gen_title.c:106: error: too few arguments to function 'getboardnum'
: gen_title.c:108: error: too few arguments to function 'getboardnum'
: *** Error code 1
: 老大,这个也不行啊。
:
: //func.h中定义如下:
: int getboardnum(const char *bname, struct boardheader *bh);
:
: //gen_title.c中使用:
: bs=getbstatus(getboardnum(bh->filename));
: set_board(getboardnum(bh->filename), &btmp, NULL);
:
:
: //chlevel.c出错信息如下:
: chlevel.c:7: warning: return type defaults to 'int'
: chlevel.c: In function 'main':
: chlevel.c:79: error: too few arguments to function 'substitute_record'
: chlevel.c:83: warning: control reaches end of non-void function
:
: //func.h中定义如下:
: int substitute_record(char *filename, void *rptr, int size, int id,
: RECORD_FUNC_ARG filecheck, void *arg);
:
: //chlevel.c中使用:
: substitute_record(BBSHOME "/.PASSWDS", &user, sizeof(user), i);
:
:
: 请fancy大大指点,谢谢!!
:
: 【 在 fancyrabbit (fancy★一摩尔时光) 的大作中提到: 】
: : 哦,应该不是这个原因。getbnum()没有了应该是。
: : 用 getboardnum() 吧
:
:
: --
: ┌───┐ ╭───╮ ┌─┐ ┌─┐ ┌─┐─┐
: │███│ │█◤█│ │█│ │█│ │█│█│
: ╔└┐█┌┘╦│█│█│╦│█│ ╦│█│ ╦│◥◢◤│╗
: ╟ │█│ ╫│█│█│╫│█└─┐╫│█└─┐╫╰┐█┌╯╢
: ║ │█│ ║│█◢█│║│█◢█│║│█◢█│║ │█│ ║
: ﹌ └─┘ ﹌╰───╯﹌└───┘﹌└───┘﹌ └─┘ ﹌
:
:
: ※ 修改:·tolly 于 Apr 5 18:20:44 2012 修改本文·[FROM: 113.68.23.*]
: ※ 来源:·水木社区 newsmth.net·[FROM: 113.68.23.*]
--
修改:tolly FROM 113.68.23.*
FROM 123.116.98.*