从Knuth编译CWEB程序

时间:2017-11-25 23:46:10

标签: c

我从Don Knuth下载了一个CWEB程序 - 具体来说 http://www-cs-faculty.stanford.edu/~knuth/programs/sliding.w。 我将sliding.w转换为sliding.c。 现在我正在尝试使用以下方法编译它:

  

gcc sliding.c -o sliding

但后来我得到了:

./sliding.w:116:1: warning: return type defaults to ‘int’ [-Wimplicit-int]
 main(int argc, char *argv[])
 ^
/tmp/cc9NVnXq.o: In function `main':
sliding.c:(.text+0x2006): undefined reference to `gb_init_rand'
sliding.c:(.text+0x201c): undefined reference to `gb_fptr'
sliding.c:(.text+0x202b): undefined reference to `gb_fptr'
sliding.c:(.text+0x2036): undefined reference to `gb_fptr'
sliding.c:(.text+0x2047): undefined reference to `gb_flip_cycle'
collect2: error: ld returned 1 exit status

任何人都可以帮助我吗?

1 个答案:

答案 0 :(得分:1)

第一个问题只是警告。致命错误是您缺少gb_符号,这些符号在此处定义:

http://ftp.cs.stanford.edu/pub/sgb/gb_flip.w

首先你需要将gb_flip.w编译成一个.c文件,然后像这样编译两个.c文件:

gcc sliding.c gb_flip.c -o sliding