Ubuntu 14.04中编译Kermit

1 x86编译

    解压kermit源码压缩包,然后进入源码目录,执行下面命令执行编译:

make linux

1.1 错误1

ckufio.c:(.text+0xda8a): undefined reference to `crypt'
解决方法:

    在makefile中找到"linuxa"目标,然后在下面的"-lm"右边空格,然后添加“-lcrypt”,如下图所示:

Ubuntu 14.04中编译Kermit_第1张图片

                                                                图1 添加-lcrypt

1.2 编译结果

    编译kermit源码后,产生2个可执行文件:wartwermit。其中wart只是一个辅助编译的工具,wermit才是我们真正需要的kermit工具。

2 交叉编译

    在嵌入式开发过程中,可以使用kermit工具来实现PC与开发板直接的文件传输。这时候需要将kermit交叉编译。下面的操作默认读者已经配置好了交叉编译环境(例如arm-linux-gcc)。

2.1  修改编译器

    在图1中仔细观察发现“CC = gcc,CC3 = gcc”。为了交叉编译,我们需要修改所使用的编译器。将它们改为交叉编译器,如下图所示:


                                                                图 2.1 修改编译器

    修改编译器后,执行下面命令:

make linux

2.2 错误

                                                               图 2.2 试图执行./wart

    在上图中可见,编译kermit过程中试图执行所生成的wart,但是由于它是使用交叉编译器编译生成的,故在x86 PC中执行发生错误。解决方法自然就是将1.1小节中适合x86运行的wart复制到本目录中替换由交叉编译器编译生成的wart,然后再执行make linux即可。

参考资料

[1]undefined reference to `crypt'怎么解决?

[2]Ubuntu 12.04下编译C-Kermit 9.0.302

你可能感兴趣的:(Ubuntu 14.04中编译Kermit)